{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "640d768c-4802-44e7-a8f4-508fb45ff41a",
   "metadata": {},
   "outputs": [
    {
     "ename": "ModuleNotFoundError",
     "evalue": "No module named 'numpy'",
     "output_type": "error",
     "traceback": [
      "\u001b[31m---------------------------------------------------------------------------\u001b[39m",
      "\u001b[31mModuleNotFoundError\u001b[39m                       Traceback (most recent call last)",
      "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[3]\u001b[39m\u001b[32m, line 6\u001b[39m\n\u001b[32m      3\u001b[39m \u001b[38;5;28;01mfrom\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34;01m__future__\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01mimport\u001b[39;00m print_function\n\u001b[32m      5\u001b[39m \u001b[38;5;28;01mimport\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34;01mdatetime\u001b[39;00m\n\u001b[32m----> \u001b[39m\u001b[32m6\u001b[39m \u001b[38;5;28;01mimport\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34;01mnumpy\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01mas\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34;01mnp\u001b[39;00m\n\u001b[32m      7\u001b[39m \u001b[38;5;28;01mimport\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34;01mpandas\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01mas\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34;01mpd\u001b[39;00m\n\u001b[32m      8\u001b[39m \u001b[38;5;28;01mimport\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34;01msklearn\u001b[39;00m\n",
      "\u001b[31mModuleNotFoundError\u001b[39m: No module named 'numpy'"
     ]
    },
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mThe Kernel crashed while executing code in the current cell or a previous cell. \n",
      "\u001b[1;31mPlease review the code in the cell(s) to identify a possible cause of the failure. \n",
      "\u001b[1;31mClick <a href='https://aka.ms/vscodeJupyterKernelCrash'>here</a> for more info. \n",
      "\u001b[1;31mView Jupyter <a href='command:jupyter.viewOutput'>log</a> for further details."
     ]
    }
   ],
   "source": [
    "\n",
    "# %matplotlib widget\n",
    "# %matplotlib inline\n",
    "from __future__ import print_function\n",
    "\n",
    "import datetime\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import sklearn\n",
    "\n",
    "from sklearn.ensemble import RandomForestClassifier\n",
    "from sklearn.linear_model import LogisticRegression\n",
    "from sklearn.discriminant_analysis import LinearDiscriminantAnalysis as LDA\n",
    "from sklearn.metrics import confusion_matrix\n",
    "from sklearn.discriminant_analysis import QuadraticDiscriminantAnalysis as QDA\n",
    "from sklearn.svm import LinearSVC, SVC\n",
    "import backtrader as bt\n",
    "from datetime import date\n",
    "from longport.openapi import QuoteContext, Config\n",
    "from decimal import Decimal\n",
    "import datetime\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "from longport.openapi import Config, QuoteContext\n",
    "# import pandas as pd\n",
    "# from decimal import Decimal\n",
    "from datetime import datetime\n",
    "from longport.openapi import QuoteContext, Config, Period, AdjustType\n",
    "\n",
    "class objDictTool:\n",
    "    @staticmethod\n",
    "    def to_dic(obj):\n",
    "        dic = {}\n",
    "        for fieldkey in dir(obj):\n",
    "            fieldvalue = getattr(obj, fieldkey)\n",
    "            if not fieldkey.startswith(\"__\") and not callable(fieldvalue) and not fieldkey.startswith(\"_\"):\n",
    "                dic[fieldkey] = fieldvalue\n",
    "        return dic\n",
    "\n",
    "@staticmethod\n",
    "def to_obj(obj: object, **data):\n",
    "    obj.__dict__.update(data)\n",
    "\n",
    "\n",
    "# 获取标的历史 K 线\n",
    "#\n",
    "# 运行前请访问“开发者中心”确保账户有正确的行情权限。\n",
    "# 如没有开通行情权限，可以通过“LongPort”手机客户端，并进入“我的 - 我的行情 - 行情商城”购买开通行情权限。\n",
    "from datetime import datetime, date\n",
    "from longport.openapi import QuoteContext, Config, Period, AdjustType\n",
    "# Query 2023-01-01 to 2023-02-01\n",
    "\n",
    "config = Config.from_env()\n",
    "# ctx = QuoteContext(config)\n",
    "# resp = ctx.history_candlesticks_by_date(\"700.HK\", Period.Day, AdjustType.NoAdjust, date(2024, 1, 1), date(2024,11, 27))\n",
    "# print(resp)\n",
    "# setx LONGPORT_APP_KEY \"b05c383f70f49c5affd8aa959bd55da0\"\n",
    "# setx LONGPORT_APP_SECRET \"0eb1a4dfce6a5d4a2b07e451e32fbf27bb11bb23ef1484b21d244eb265bcc882\"\n",
    "# setx LONGPORT_ACCESS_TOKEN \"m_eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJsb25nYnJpZGdlIiwic3ViIjoiYWNjZXNzX3Rva2VuIiwiZXhwIjoxNzM5NzY3MzQ2LCJpYXQiOjE3MzE5OTEzMTcsImFrIjoiYjA1YzM4M2Y3MGY0OWM1YWZmZDhhYTk1OWJkNTVkYTAiLCJhYWlkIjoyMDQ5OTUwOSwiYWMiOiJsYiIsIm1pZCI6MTYwMTIwMTgsInNpZCI6ImJzMUh6NFhNQ1hqZS9OQi8wY1hJR0E9PSIsImJsIjozLCJ1bCI6MCwiaWsiOiJsYl8yMDQ5OTUwOSJ9.uUPXJv-iDt1pAWcEfaIz2BAhPSv8AhzQGntVJq41AwDUfAUYdIJL7udkOxjPgil4A_79HeKPBZ-GOu_N24dnR69132THhzS89hvu4k5I1yD3WtzVP6hLwoPczhAdkjaDCSx-NkL6C1qGsOz2RtQYQFl-whOo7FCCBZUpHoTqSjRwpePMeK3Gy1PtLozVihbRqC-ykN80SLh4n1mkzRGWmolJplvz7EpF8R8uko9vHbDUccOcsFGOwFdZKIXydHTWGesOkwzOWB_xPgkDoyvhsCQJEwxrL3bFDV4zfWKUuH93zQIE7NE8JWtyQ8VwxpC893JRUiJUrYie_5bhHjjYIEHub2JC98CFWujcpIyuynbl-81v2Im79M_iVtK-Jf3RRh56y03b_T_MQnbitbA5JEREWfjsU6mkH8cjGvxW9S0y4W37Ib29QWX9ijJ94IdiJDzd6kS38QFljDbf932yj0dsZSQaIWm_GtKk1GV02EOLUQOUcfbGa4r3n_drDSyjWdQyulI1hrVWJqAfSFvumeqMk9Oy13ck-QBiFSxHMaJbdImwO8jTaofQiY-6F42Xn-3pernJB2xHYXAxCsrj_hicBf5QfMrL7BeYnR7_k69-De9ZuiN3rdE8E9m_XDL6RYz4m3l50adtDbZe6HGL2jeQKnapaGokE2NYz6NLKO0\"\n",
    " # LONGPORT_APP_KEY ='b05c383f70f49c5affd8aa959bd55da0'\n",
    " # LONGPORT_APP_SECRET ='0eb1a4dfce6a5d4a2b07e451e32fbf27bb11bb23ef1484b21d244eb265bcc882'\n",
    " # LONGPORT_ACCESS_TOKEN ='setx LONGPORT_ACCESS_TOKEN \"m_eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJsb25nYnJpZGdlIiwic3ViIjoiYWNjZXNzX3Rva2VuIiwiZXhwIjoxNzM5NzY3MzQ2LCJpYXQiOjE3MzE5OTEzMTcsImFrIjoiYjA1YzM4M2Y3MGY0OWM1YWZmZDhhYTk1OWJkNTVkYTAiLCJhYWlkIjoyMDQ5OTUwOSwiYWMiOiJsYiIsIm1pZCI6MTYwMTIwMTgsInNpZCI6ImJzMUh6NFhNQ1hqZS9OQi8wY1hJR0E9PSIsImJsIjozLCJ1bCI6MCwiaWsiOiJsYl8yMDQ5OTUwOSJ9.uUPXJv-iDt1pAWcEfaIz2BAhPSv8AhzQGntVJq41AwDUfAUYdIJL7udkOxjPgil4A_79HeKPBZ-GOu_N24dnR69132THhzS89hvu4k5I1yD3WtzVP6hLwoPczhAdkjaDCSx-NkL6C1qGsOz2RtQYQFl-whOo7FCCBZUpHoTqSjRwpePMeK3Gy1PtLozVihbRqC-ykN80SLh4n1mkzRGWmolJplvz7EpF8R8uko9vHbDUccOcsFGOwFdZKIXydHTWGesOkwzOWB_xPgkDoyvhsCQJEwxrL3bFDV4zfWKUuH93zQIE7NE8JWtyQ8VwxpC893JRUiJUrYie_5bhHjjYIEHub2JC98CFWujcpIyuynbl-81v2Im79M_iVtK-Jf3RRh56y03b_T_MQnbitbA5JEREWfjsU6mkH8cjGvxW9S0y4W37Ib29QWX9ijJ94IdiJDzd6kS38QFljDbf932yj0dsZSQaIWm_GtKk1GV02EOLUQOUcfbGa4r3n_drDSyjWdQyulI1hrVWJqAfSFvumeqMk9Oy13ck-QBiFSxHMaJbdImwO8jTaofQiY-6F42Xn-3pernJB2xHYXAxCsrj_hicBf5QfMrL7BeYnR7_k69-De9ZuiN3rdE8E9m_XDL6RYz4m3l50adtDbZe6HGL2jeQKnapaGokE2NYz6NLKO0\"'\n",
    "\n",
    "\n",
    "\n",
    "# Load configuration from environment variables\n",
    "config = Config.from_env()\n",
    "\n",
    "# Create a context for quote APIs\n",
    "ctx = QuoteContext(config)\n",
    "\n",
    "# Get basic information of securities\n",
    "\n",
    "resp = ctx.quote([\"CONL.US\", \"NAIL.US\", \"TSLL.US\", \"GGLL.US\",\"VXX.US\"])\n",
    "print(resp)\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8186a3c1-5938-4433-ab36-62693a23160b",
   "metadata": {},
   "source": [
    "仅测试api"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "155c984d-ee26-492a-bb76-c0f91645ace5",
   "metadata": {},
   "source": [
    "取出 ([\"CONL.US\", \"NAIL.US\", \"TSLL.US\", \"GGLL.US\",\"CURE.US\",\"DSPT.US\",\"FAS.US\",\"DSPT.US\",\"SPY.US\",\"QQQ.US\",\"DIA.US\"])  1年价格  SPY  QQQ  DIA"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "d9cd9187-34e1-433f-a062-6a845ec0e87f",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "    close    high     low    open           timestamp      turnover  volume  \\\n",
      "0  13.700  15.190  13.370  13.710 2023-11-09 13:00:00  10439820.000  722828   \n",
      "1  13.710  14.415  13.480  13.970 2023-11-10 13:00:00   2470933.000  177201   \n",
      "2  13.650  13.740  12.780  13.380 2023-11-13 13:00:00   2290563.000  171873   \n",
      "3  13.530  14.170  13.040  14.110 2023-11-14 13:00:00   4637277.000  338591   \n",
      "4  14.860  15.260  13.750  13.950 2023-11-15 13:00:00   5835957.000  397354   \n",
      "\n",
      "                  close_pct_change                 high_pct_change  \\\n",
      "0                              NaN                             NaN   \n",
      "1    0.072992700729927007299270100  -5.102040816326530612244897960   \n",
      "2  -0.4376367614879649890590809600  -4.682622268470343392299687830   \n",
      "3  -0.8791208791208791208791208800   3.129548762736535662299854400   \n",
      "4    9.830007390983000739098300100   7.692307692307692307692307700   \n",
      "\n",
      "                   low_pct_change                 open_pct_change  \n",
      "0                             NaN                             NaN  \n",
      "1   0.822737471952131637995512300   1.896425966447848285922684200  \n",
      "2  -5.192878338278931750741839760  -4.223335719398711524695776660  \n",
      "3   2.034428794992175273865414700   5.455904334828101644245142000  \n",
      "4   5.444785276073619631901840500  -1.133947554925584691708008500  \n",
      "    close    high     low    open           timestamp      turnover  volume  \\\n",
      "0  56.390  59.830  55.830  59.070 2023-11-09 13:00:00  17344237.000  299860   \n",
      "1  60.000  60.227  56.260  57.770 2023-11-10 13:00:00  13597778.000  231566   \n",
      "2  59.110  59.800  57.520  58.870 2023-11-13 13:00:00  10093965.000  171130   \n",
      "3  70.130  71.803  65.200  65.200 2023-11-14 13:00:00  50122761.000  717437   \n",
      "4  69.000  72.405  68.871  70.010 2023-11-15 13:00:00  23784091.000  336839   \n",
      "\n",
      "                 close_pct_change                  high_pct_change  \\\n",
      "0                             NaN                              NaN   \n",
      "1   6.401844298634509664834190500    0.663546715694467658365368500   \n",
      "2  -1.483333333333333333333333330  -0.7089843425706078669035482400   \n",
      "3   18.64320757908983251564879040    20.07190635451505016722408030   \n",
      "4  -1.611293312419791815200342220    0.838405080567664303719900300   \n",
      "\n",
      "                  low_pct_change                 open_pct_change  \n",
      "0                            NaN                             NaN  \n",
      "1  0.770195235536449937309690100  -2.200778737091586253597426780  \n",
      "2  2.239601848560255954496978300   1.904102475333217933183313100  \n",
      "3  13.35187760778859527121001390   10.75250552063869543060981820  \n",
      "4  5.630368098159509202453987700   7.377300613496932515337423300  \n",
      "    close    high     low    open           timestamp       turnover  \\\n",
      "0  11.650  12.575  11.370  12.490 2023-11-09 13:00:00  212225231.000   \n",
      "1  12.030  12.090  11.290  11.650 2023-11-10 13:00:00  144677422.000   \n",
      "2  12.790  12.930  11.770  12.110 2023-11-13 13:00:00  241844188.000   \n",
      "3  13.960  14.028  13.390  13.770 2023-11-14 13:00:00  291942448.000   \n",
      "4  14.450  14.780  13.880  14.140 2023-11-15 13:00:00  285146519.000   \n",
      "\n",
      "     volume               close_pct_change                 high_pct_change  \\\n",
      "0  17936876                            NaN                             NaN   \n",
      "1  12314246  3.261802575107296137339055800  -3.856858846918489065606361830   \n",
      "2  19270334  6.317539484621778886118038200   6.947890818858560794044665000   \n",
      "3  21316517  9.147771696637998436278342500   8.491879350348027842227378200   \n",
      "4  19785087  3.510028653295128939828080200   5.360707157114342743085258100   \n",
      "\n",
      "                    low_pct_change                 open_pct_change  \n",
      "0                              NaN                             NaN  \n",
      "1  -0.7036059806508355321020228700  -6.725380304243394715772618090  \n",
      "2    4.251550044286979627989371100   3.948497854077253218884120200  \n",
      "3    13.76380628717077315208156330   13.70767960363336085879438480  \n",
      "4    3.659447348767737117251680400   2.687000726216412490922294800  \n",
      "    close    high     low    open           timestamp     turnover  volume  \\\n",
      "0  29.070  29.780  29.050  29.610 2023-11-09 13:00:00  3682561.000  125128   \n",
      "1  29.890  29.929  28.820  29.000 2023-11-10 13:00:00  3197041.000  108093   \n",
      "2  29.710  29.850  29.440  29.600 2023-11-13 13:00:00  1482204.000   49957   \n",
      "3  30.200  30.800  30.130  30.430 2023-11-14 13:00:00  2157409.000   70817   \n",
      "4  30.560  30.620  30.200  30.620 2023-11-15 13:00:00  4862155.000  160130   \n",
      "\n",
      "                  close_pct_change                  high_pct_change  \\\n",
      "0                              NaN                              NaN   \n",
      "1    2.820777433780529755761953900    0.500335795836131631967763600   \n",
      "2  -0.6022080963532954165272666400  -0.2639580340138327374786995900   \n",
      "3    1.649276337933355772467182800    3.182579564489112227805695100   \n",
      "4    1.192052980132450331125827800  -0.5844155844155844155844155800   \n",
      "\n",
      "                    low_pct_change                 open_pct_change  \n",
      "0                              NaN                             NaN  \n",
      "1  -0.7917383820998278829604130800  -2.060114826072272880783519080  \n",
      "2    2.151283830673143650242886900   2.068965517241379310344827600  \n",
      "3                        2.3437500   2.804054054054054054054054100  \n",
      "4    0.232326584799203451709259900   0.624383831744988498192573100  \n",
      "    close    high     low    open           timestamp       turnover   volume  \\\n",
      "0  49.170  53.210  48.500  52.060 2023-11-09 13:00:00  107938848.000  2125070   \n",
      "1  50.000  50.480  47.865  50.050 2023-11-10 13:00:00   56706285.000  1145397   \n",
      "2  50.200  50.561  47.720  48.920 2023-11-13 13:00:00   43306743.000   875894   \n",
      "3  61.270  63.130  56.000  56.060 2023-11-14 13:00:00  201739063.000  3352064   \n",
      "4  63.770  65.300  60.980  61.220 2023-11-15 13:00:00  132721894.000  2081602   \n",
      "\n",
      "                close_pct_change                 high_pct_change  \\\n",
      "0                            NaN                             NaN   \n",
      "1  1.688021151108399430547081600  -5.130614546137943995489569630   \n",
      "2                          0.400   0.160459587955625990491283700   \n",
      "3  22.05179282868525896414342630   24.85908110994640137655505230   \n",
      "4  4.080300310102823567814591200   3.437351496911135751623633800   \n",
      "\n",
      "                    low_pct_change                 open_pct_change  \n",
      "0                              NaN                             NaN  \n",
      "1   -1.309278350515463917525773200  -3.860929696504033807145601230  \n",
      "2  -0.3029353389741982659563355300  -2.257742257742257742257742260  \n",
      "3    17.35121542330259849119865880   14.59525756336876533115290270  \n",
      "4    8.892857142857142857142857100   9.204423831608990367463432000  \n",
      "    close    high     low    open           timestamp      turnover   volume  \\\n",
      "0  59.120  60.760  58.850  60.530 2023-11-09 13:00:00  30345842.000   507876   \n",
      "1  61.130  61.236  59.000  59.930 2023-11-10 13:00:00  35674107.000   592023   \n",
      "2  60.760  61.327  60.180  60.460 2023-11-13 13:00:00  25945836.000   426461   \n",
      "3  64.320  65.240  62.720  62.840 2023-11-14 13:00:00  67374095.000  1048085   \n",
      "4  65.500  65.860  64.550  64.600 2023-11-15 13:00:00  40199285.000   614423   \n",
      "\n",
      "                  close_pct_change                high_pct_change  \\\n",
      "0                              NaN                            NaN   \n",
      "1    3.399864682002706359945872800  0.783410138248847926267281100   \n",
      "2  -0.6052674627842303288074595100  0.148605395518975765889346100   \n",
      "3    5.859117840684660961158657000  6.380550165506220751055815500   \n",
      "4    1.834577114427860696517412900  0.950337216431637032495401600   \n",
      "\n",
      "                  low_pct_change                  open_pct_change  \n",
      "0                            NaN                              NaN  \n",
      "1  0.254885301614273576890399300  -0.9912440112340987939864530000  \n",
      "2                           2.00    0.884365092608042716502586400  \n",
      "3  4.220671319375207710202725200    3.936486933509758518028448600  \n",
      "4  2.917729591836734693877551000    2.800763844684914067472947200  \n",
      "   close   high    low   open           timestamp       turnover    volume  \\\n",
      "0  2.720  3.170  2.680  3.155 2023-11-09 13:00:00  178527751.000  62000275   \n",
      "1  2.740  2.780  2.570  2.770 2023-11-10 13:00:00  108274681.000  40338621   \n",
      "2  2.790  2.790  2.500  2.680 2023-11-13 13:00:00  121146016.000  45782741   \n",
      "3  3.230  3.250  3.080  3.100 2023-11-14 13:00:00  210603691.000  66759416   \n",
      "4  3.270  3.565  3.205  3.240 2023-11-15 13:00:00  223470157.000  65447876   \n",
      "\n",
      "                close_pct_change                 high_pct_change  \\\n",
      "0                            NaN                             NaN   \n",
      "1  0.735294117647058823529411800  -12.30283911671924290220820189   \n",
      "2  1.824817518248175182481751800   0.359712230215827338129496400   \n",
      "3  15.77060931899641577060931900   16.48745519713261648745519710   \n",
      "4  1.238390092879256965944272400   9.692307692307692307692307700   \n",
      "\n",
      "                   low_pct_change                 open_pct_change  \n",
      "0                             NaN                             NaN  \n",
      "1  -4.104477611940298507462686570  -12.20285261489698890649762282  \n",
      "2  -2.723735408560311284046692610  -3.249097472924187725631768950  \n",
      "3                          23.200   15.67164179104477611940298510  \n",
      "4   4.058441558441558441558441600   4.516129032258064516129032300  \n",
      "    close    high     low    open           timestamp      turnover  volume  \\\n",
      "0  17.620  18.280  17.390  18.010 2023-11-09 13:00:00   6585677.000  367436   \n",
      "1  18.150  18.200  17.640  17.850 2023-11-10 13:00:00   5415121.000  300820   \n",
      "2  18.770  19.100  18.380  18.410 2023-11-13 13:00:00  11226343.000  599646   \n",
      "3  19.220  19.350  18.990  19.240 2023-11-14 13:00:00   8394350.000  436727   \n",
      "4  19.200  19.631  19.170  19.280 2023-11-15 13:00:00   4608057.000  238110   \n",
      "\n",
      "                  close_pct_change                  high_pct_change  \\\n",
      "0                              NaN                              NaN   \n",
      "1    3.007945516458569807037457400  -0.4376367614879649890590809600   \n",
      "2    3.415977961432506887052341600    4.945054945054945054945054900   \n",
      "3    2.397442727757059136920618000    1.308900523560209424083769600   \n",
      "4  -0.1040582726326742976066597300    1.452196382428940568475452200   \n",
      "\n",
      "                  low_pct_change                  open_pct_change  \n",
      "0                            NaN                              NaN  \n",
      "1  1.437607820586543990799309900  -0.8883953359244863964464186600  \n",
      "2  4.195011337868480725623582800    3.137254901960784313725490200  \n",
      "3  3.318824809575625680087051100    4.508419337316675719717544800  \n",
      "4  0.947867298578199052132701400    0.207900207900207900207900200  \n",
      "    close    high     low    open           timestamp       turnover  \\\n",
      "0  20.770  20.970  19.735  19.780 2023-11-09 13:00:00  226148348.000   \n",
      "1  19.930  20.440  19.745  20.400 2023-11-10 13:00:00  212747303.000   \n",
      "2  19.710  20.180  19.510  20.070 2023-11-13 13:00:00  131211205.000   \n",
      "3  19.560  19.605  18.958  19.010 2023-11-14 13:00:00  184287021.000   \n",
      "4  19.150  19.391  19.072  19.250 2023-11-15 13:00:00  174137372.000   \n",
      "\n",
      "     volume                 close_pct_change                 high_pct_change  \\\n",
      "0  11059856                              NaN                             NaN   \n",
      "1  10639807   -4.044294655753490611458834860  -2.527420123986647591797806390   \n",
      "2   6637599   -1.103863522328148519819367790  -1.272015655577299412915851270   \n",
      "3   9552228  -0.7610350076103500761035007600  -2.849355797819623389494549060   \n",
      "4   9065796   -2.096114519427402862985685070  -1.091558275950012751849018110   \n",
      "\n",
      "                   low_pct_change                 open_pct_change  \n",
      "0                             NaN                             NaN  \n",
      "1   0.050671395996959716240182400   3.134479271991911021233569300  \n",
      "2  -1.190174727779184603697138520  -1.617647058823529411764705880  \n",
      "3  -2.829318298308559712967708870  -5.281514698555057299451918290  \n",
      "4   0.601329254140732144741006400   1.262493424513413992635455000  \n",
      "      close    high     low    open           timestamp       turnover  \\\n",
      "0    20.770  20.970  19.735  19.780 2023-11-09 13:00:00  226148348.000   \n",
      "1    19.930  20.440  19.745  20.400 2023-11-10 13:00:00  212747303.000   \n",
      "2    19.710  20.180  19.510  20.070 2023-11-13 13:00:00  131211205.000   \n",
      "3    19.560  19.605  18.958  19.010 2023-11-14 13:00:00  184287021.000   \n",
      "4    19.150  19.391  19.072  19.250 2023-11-15 13:00:00  174137372.000   \n",
      "..      ...     ...     ...     ...                 ...            ...   \n",
      "295  43.550  45.155  43.430  45.050 2025-01-15 13:00:00  372029110.000   \n",
      "296  43.620  43.910  43.113  43.430 2025-01-16 13:00:00  187447805.000   \n",
      "297  43.960  43.960  42.770  42.970 2025-01-17 13:00:00  243748366.000   \n",
      "298  42.110  43.400  41.980  43.030 2025-01-21 13:00:00  243586171.000   \n",
      "299  42.750  42.860  41.980  42.080 2025-01-22 13:00:00  281997094.000   \n",
      "\n",
      "       volume                 close_pct_change  \\\n",
      "0    11059856                              NaN   \n",
      "1    10639807   -4.044294655753490611458834860   \n",
      "2     6637599   -1.103863522328148519819367790   \n",
      "3     9552228  -0.7610350076103500761035007600   \n",
      "4     9065796   -2.096114519427402862985685070   \n",
      "..        ...                              ...   \n",
      "295   8376192   -8.161113454238717840573597640   \n",
      "296   4314198    0.160734787600459242250287000   \n",
      "297   5609554    0.779458963778083447959651500   \n",
      "298   5739523   -4.208371246587807097361237490   \n",
      "299   6643075    1.519829019235336024697221600   \n",
      "\n",
      "                    high_pct_change                   low_pct_change  \\\n",
      "0                               NaN                              NaN   \n",
      "1    -2.527420123986647591797806390    0.050671395996959716240182400   \n",
      "2    -1.272015655577299412915851270   -1.190174727779184603697138520   \n",
      "3    -2.849355797819623389494549060   -2.829318298308559712967708870   \n",
      "4    -1.091558275950012751849018110    0.601329254140732144741006400   \n",
      "..                              ...                              ...   \n",
      "295  -7.959641255605381165919282510   -6.449250387730484232293641220   \n",
      "296  -2.757169748643561067434392650  -0.7299102003223578171770665400   \n",
      "297   0.113869278068777043953541300  -0.7955836986523786328949504800   \n",
      "298  -1.273885350318471337579617830   -1.847089081131634323123684830   \n",
      "299  -1.244239631336405529953917050                                0   \n",
      "\n",
      "                    open_pct_change  \n",
      "0                               NaN  \n",
      "1     3.134479271991911021233569300  \n",
      "2    -1.617647058823529411764705880  \n",
      "3    -5.281514698555057299451918290  \n",
      "4     1.262493424513413992635455000  \n",
      "..                              ...  \n",
      "295  -5.416754146546294352298971240  \n",
      "296  -3.596004439511653718091009990  \n",
      "297  -1.059175685010361501266405710  \n",
      "298   0.139632301605771468466371900  \n",
      "299  -2.207762026493144317917731820  \n",
      "\n",
      "[300 rows x 11 columns]\n",
      "     close     high      low     open           timestamp         turnover  \\\n",
      "0  370.070  374.800  369.570  373.640 2023-11-09 13:00:00  20033090643.000   \n",
      "1  378.390  378.540  371.280  371.820 2023-11-10 13:00:00  21906542765.000   \n",
      "2  377.210  378.280  375.240  376.790 2023-11-13 13:00:00  15363439400.000   \n",
      "3  385.330  386.260  383.180  383.710 2023-11-14 13:00:00  26061617070.000   \n",
      "4  385.620  387.750  384.235  387.250 2023-11-15 13:00:00  20905654935.000   \n",
      "\n",
      "     volume                 close_pct_change                  high_pct_change  \\\n",
      "0  53859421                              NaN                              NaN   \n",
      "1  58368439    2.248223309103683086983543700    0.997865528281750266808964800   \n",
      "2  40733505  -0.3118475646819419117841380600  -0.0686849474295979288846621200   \n",
      "3  67792634    2.152647066620715251451446100    2.109548482605477424130273900   \n",
      "4  54141385    0.075260166610437806555420000    0.385750530730595971625330100   \n",
      "\n",
      "                  low_pct_change                  open_pct_change  \n",
      "0                            NaN                              NaN  \n",
      "1  0.462699894471953892361393000  -0.4870998822395889091103736200  \n",
      "2  1.066580478345184227537168700    1.336668280350707331504491400  \n",
      "3  2.115979106705042106385246800    1.836566787865920008492794400  \n",
      "4  0.275327522313273135341093000    0.922571733861509994527116800  \n",
      "     close     high      low     open           timestamp        turnover  \\\n",
      "0  339.110  342.050  338.770  342.010 2023-11-09 13:00:00  1340733808.000   \n",
      "1  343.010  343.300  339.270  340.810 2023-11-10 13:00:00  1115656432.000   \n",
      "2  343.570  344.300  342.230  342.380 2023-11-13 13:00:00   901044441.000   \n",
      "3  348.420  349.520  346.670  347.520 2023-11-14 13:00:00  1675188855.000   \n",
      "4  350.270  350.780  348.980  349.290 2023-11-15 13:00:00  1101908297.000   \n",
      "\n",
      "    volume               close_pct_change                high_pct_change  \\\n",
      "0  3940744                            NaN                            NaN   \n",
      "1  3268678  1.150069299047506708737577800  0.365443648589387516444964200   \n",
      "2  2624538  0.163260546339756858400629700  0.291290416545295659772793500   \n",
      "3  4815484  1.411648281281834851704165100  1.516119663084519314551263400   \n",
      "4  3149383  0.530968371505654095631708900  0.360494392309452964065003400   \n",
      "\n",
      "                  low_pct_change                  open_pct_change  \n",
      "0                            NaN                              NaN  \n",
      "1  0.147592762050949021459987600  -0.3508669337153884389345340800  \n",
      "2  0.872461461372947799687564500    0.460667233942666001584460500  \n",
      "3  1.297373111650059901236010900    1.501255914480986038904141600  \n",
      "4  0.666339746733204488418380600    0.509323204419889502762430900  \n",
      "     close     high      low     open           timestamp         turnover  \\\n",
      "0  433.840  438.470  433.400  438.430 2023-11-09 13:00:00  36233035034.000   \n",
      "1  440.610  440.930  433.834  435.980 2023-11-10 13:00:00  39225511265.000   \n",
      "2  440.190  441.330  438.420  439.230 2023-11-13 13:00:00  22988813927.000   \n",
      "3  448.730  450.060  446.090  446.320 2023-11-14 13:00:00  43522640908.000   \n",
      "4  449.680  451.380  448.800  450.110 2023-11-15 13:00:00  34798916054.000   \n",
      "\n",
      "     volume                 close_pct_change                high_pct_change  \\\n",
      "0  83174417                              NaN                            NaN   \n",
      "1  89558054    1.560483127420247095703485200  0.561041804456405227267544000   \n",
      "2  52236068  -0.0953223939538367263566419300  0.090717347424761299979588600   \n",
      "3  97176935    1.940071332833549149231013900  1.978111617157229284209095200   \n",
      "4  77327573    0.211708599826176096984823800  0.293294227436341821090521300   \n",
      "\n",
      "                  low_pct_change                  open_pct_change  \n",
      "0                            NaN                              NaN  \n",
      "1  0.100138440239963082602676500  -0.5588121250826813858540702100  \n",
      "2  1.057086351000613137743929700    0.745447038854993348318730200  \n",
      "3  1.749463984307285251585237900    1.614188466179450401839582900  \n",
      "4  0.607500728552534241969109400    0.849166517297006632012905500  \n",
      "     close     high      low     open           timestamp        turnover  \\\n",
      "0  163.920  164.520  163.245  164.370 2023-11-09 13:00:00   823396002.000   \n",
      "1  166.190  166.440  163.900  164.550 2023-11-10 13:00:00   790803651.000   \n",
      "2  167.680  167.870  166.045  166.380 2023-11-13 13:00:00   858964056.000   \n",
      "3  167.650  169.146  167.250  168.170 2023-11-14 13:00:00  1107819904.000   \n",
      "4  169.780  169.940  167.510  168.380 2023-11-15 13:00:00  2016122392.000   \n",
      "\n",
      "     volume                 close_pct_change                high_pct_change  \\\n",
      "0   5026899                              NaN                            NaN   \n",
      "1   4773719    1.384821864324060517325524600  1.167031363967906637490882600   \n",
      "2   5136281    0.896564173536313857632829900  0.859168469118000480653689000   \n",
      "3   6597506  -0.0178912213740458015267175600  0.760111991421933639125513800   \n",
      "4  11923315    1.270504026245153593796600100  0.469416953401203693850283200   \n",
      "\n",
      "                  low_pct_change                open_pct_change  \n",
      "0                            NaN                            NaN  \n",
      "1  0.401237403902110324971668400  0.109509034495345866033947800  \n",
      "2  1.308724832214765100671140900  1.112123974475843208751139500  \n",
      "3  0.725706886687343792345448500  1.075850462796009135713427100  \n",
      "4  0.155455904334828101644245100  0.124873639769281084616756900  \n"
     ]
    }
   ],
   "source": [
    "# 组合 x  y  的涨跌 模型一数据\n",
    "def execute_order(ctxx, key):\n",
    "        resp = []\n",
    "        resp = ctxx.candlesticks(key, Period.Day, 300, AdjustType.NoAdjust)\n",
    "        # dict_array = np.array(resp, dtype=object)\n",
    "        # array_of_dicts = np.array([objDictTool.to_dic(dictionary) for dictionary in dict_array], dtype=object)\n",
    "        # df = pd.DataFrame.from_records(array_of_dicts)\n",
    "        # df['timestamp'] = pd.to_datetime(df['timestamp'], format='%Y-%m-%d')\n",
    "        return resp\n",
    "#\"CURE.US\"\n",
    "strarrX  = [\"CONL.US\", \"NAIL.US\", \"TSLL.US\", \"GGLL.US\",\"DPST.US\",\"FAS.US\",\"LABU.US\",\"DFEN.US\",\"VXX.US\"]\n",
    "# strarrX = [\"CONL.US\", \"NAIL.US\"]#, \"TSLL.US\", \"GGLL.US\",\"CURE.US\",\"DPST.US\",\"FAS.US\",\"DSPT.US\",\"SPY.US\",\"QQQ.US\",\"DIA.US\"]\n",
    "\n",
    "# print(df)\n",
    "#merge X\n",
    "#merge Y \n",
    "dfdictX = {}\n",
    "for key in strarrX:\n",
    "        dfreturn = execute_order(ctx, key)\n",
    "        dict_array = np.array(dfreturn, dtype=object)\n",
    "        array_of_dicts = np.array([objDictTool.to_dic(dictionary) for dictionary in dict_array], dtype=object)\n",
    "        df = pd.DataFrame.from_records(array_of_dicts)\n",
    "        df['timestamp'] = pd.to_datetime(df['timestamp'], format='%Y-%m-%d')\n",
    "        price_columns = ['close', 'high', 'low', 'open']\n",
    "        for column in price_columns:\n",
    "           df[f'{column}_pct_change'] = df[column].pct_change() * 100  \n",
    "        # calculate_rise_and_fall(df)   \n",
    "        # calculate_fear_and_greed_index(df)\n",
    "        dfdictX[key] = df\n",
    "        print(df.head())\n",
    "    \n",
    "# strarr = [\"CONL.US\", \"NAIL.US\", \"TSLL.US\", \"GGLL.US\",\"CURE.US\",\"DSPT.US\",\"FAS.US\",\"DSPT.US\",\"SPY.US\",\"QQQ.US\",\"DIA.US\"]\n",
    "strarrY = [\"QQQ.US\", \"DIA.US\",\"SPY.US\",\"WMT.US\"]#, \"TSLL.US\", \"GGLL.US\",\"CURE.US\",\"DSPT.US\",\"FAS.US\",\"DSPT.US\",\"SPY.US\",\"QQQ.US\",\"DIA.US\"]\n",
    "\n",
    "\n",
    "print(df)\n",
    "#merge X\n",
    "#merge Y \n",
    "dfdictY = {}\n",
    "for key in strarrY:\n",
    "        dfreturn = execute_order(ctx, key)\n",
    "        dict_array = np.array(dfreturn, dtype=object)\n",
    "        array_of_dicts = np.array([objDictTool.to_dic(dictionary) for dictionary in dict_array], dtype=object)\n",
    "        df = pd.DataFrame.from_records(array_of_dicts)\n",
    "        df['timestamp'] = pd.to_datetime(df['timestamp'], format='%Y-%m-%d')\n",
    "        price_columns = ['close', 'high', 'low', 'open']\n",
    "        for column in price_columns:\n",
    "           df[f'{column}_pct_change'] = df[column].pct_change() * 100  \n",
    "        # calculate_rise_and_fall(df) \n",
    "        # calculate_fear_and_greed_index(df)\n",
    "        dfdictY[key] = df\n",
    "        print(df.head())\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "03fe442c-655c-4b33-93e5-ce2278227ff9",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CONL.US\n",
      "NAIL.US\n",
      "TSLL.US\n",
      "GGLL.US\n",
      "DPST.US\n",
      "FAS.US\n",
      "LABU.US\n",
      "DFEN.US\n",
      "VXX.US\n",
      "QQQ.US\n",
      "DIA.US\n",
      "SPY.US\n",
      "WMT.US\n"
     ]
    }
   ],
   "source": [
    "for key in dfdictX.keys():\n",
    "    print(key)\n",
    "\n",
    "for key in dfdictY.keys():\n",
    "    print(key)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "0c82e48c-2a7e-4f7d-9236-bba8eb425149",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Index(['close', 'high', 'low', 'open', 'timestamp', 'turnover', 'volume',\n",
      "       'close_pct_change', 'high_pct_change', 'low_pct_change',\n",
      "       'open_pct_change', 'CONL.US_open_pct_change', 'NAIL.US_open_pct_change',\n",
      "       'TSLL.US_open_pct_change', 'GGLL.US_open_pct_change',\n",
      "       'DPST.US_open_pct_change', 'FAS.US_open_pct_change',\n",
      "       'LABU.US_open_pct_change', 'DFEN.US_open_pct_change',\n",
      "       'VXX.US_open_pct_change'],\n",
      "      dtype='object')\n",
      "300\n",
      "Index(['close', 'high', 'low', 'open', 'timestamp', 'turnover', 'volume',\n",
      "       'close_pct_change', 'high_pct_change', 'low_pct_change',\n",
      "       'open_pct_change', 'QQQ.US_open_pct_change', 'QQQ.US_low_pct_change',\n",
      "       'QQQ.US_high_pct_change', 'QQQ.US_close_pct_change',\n",
      "       'DIA.US_open_pct_change', 'DIA.US_low_pct_change',\n",
      "       'DIA.US_high_pct_change', 'DIA.US_close_pct_change',\n",
      "       'SPY.US_open_pct_change', 'SPY.US_low_pct_change',\n",
      "       'SPY.US_high_pct_change', 'SPY.US_close_pct_change',\n",
      "       'WMT.US_open_pct_change', 'WMT.US_low_pct_change',\n",
      "       'WMT.US_high_pct_change', 'WMT.US_close_pct_change'],\n",
      "      dtype='object')\n",
      "300\n"
     ]
    }
   ],
   "source": [
    "price_columns = ['close', 'high', 'low', 'open']\n",
    "X_train = pd.DataFrame()\n",
    "dfs = []\n",
    "for key in dfdictX.keys():\n",
    "    # dfs.append(dfdictX[key])\n",
    "    \n",
    "    # print(dfdictX[key])\n",
    "    origin =dfdictX[key]\n",
    "    temp = origin.copy()\n",
    "    temp[f'{key}_open_pct_change']  = origin['open_pct_change']\n",
    "    temp['timestamp']  = origin['timestamp']\n",
    "    dfs.append(temp)\n",
    "    # timestamp    \n",
    "    # print(temp.columns)\n",
    "\n",
    "X_train = pd.concat(dfs, axis=1,join='inner')\n",
    "\n",
    "X_train = X_train.loc[:, ~X_train.columns.duplicated()]\n",
    "print(X_train.columns)\n",
    "print(X_train.shape[0])\n",
    "# # Y_train\n",
    "X_train.to_csv('X_trainoutput.csv', index=False)\n",
    "\n",
    "# price_columns = ['close', 'high', 'low', 'open']\n",
    "y_train = pd.DataFrame()\n",
    "dfs = []\n",
    "for key in dfdictY.keys():\n",
    "    # dfs.append(dfdictX[key])\n",
    "    \n",
    "    # print(dfdictX[key])\n",
    "    origin =dfdictY[key]\n",
    "    temp = origin.copy()\n",
    "    temp[f'{key}_open_pct_change']  = origin['open_pct_change']\n",
    "    temp[f'{key}_low_pct_change']  = origin['low_pct_change']\n",
    "    temp[f'{key}_high_pct_change']  = origin['high_pct_change']\n",
    "    temp[f'{key}_close_pct_change']  = origin['close_pct_change']\n",
    "    temp['timestamp']  = origin['timestamp']\n",
    "    dfs.append(temp)\n",
    "    # timestamp    \n",
    "    # print(temp.columns)\n",
    "\n",
    "y_train = pd.concat(dfs, axis=1,join='inner')\n",
    "\n",
    "y_train = y_train.loc[:, ~y_train.columns.duplicated()]\n",
    "print(y_train.columns)\n",
    "print(y_train.shape[0])\n",
    "# # Y_train\n",
    "y_train.to_csv('y_trainoutput.csv', index=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c183b04a",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "     close     high      low     open           timestamp         turnover  \\\n",
      "0  370.070  374.800  369.570  373.640 2023-11-09 13:00:00  20033090643.000   \n",
      "1  378.390  378.540  371.280  371.820 2023-11-10 13:00:00  21906542765.000   \n",
      "2  377.210  378.280  375.240  376.790 2023-11-13 13:00:00  15363439400.000   \n",
      "3  385.330  386.260  383.180  383.710 2023-11-14 13:00:00  26061617070.000   \n",
      "4  385.620  387.750  384.235  387.250 2023-11-15 13:00:00  20905654935.000   \n",
      "\n",
      "     volume                 close_pct_change                  high_pct_change  \\\n",
      "0  53859421                              NaN                              NaN   \n",
      "1  58368439    2.248223309103683086983543700    0.997865528281750266808964800   \n",
      "2  40733505  -0.3118475646819419117841380600  -0.0686849474295979288846621200   \n",
      "3  67792634    2.152647066620715251451446100    2.109548482605477424130273900   \n",
      "4  54141385    0.075260166610437806555420000    0.385750530730595971625330100   \n",
      "\n",
      "                  low_pct_change  ...         DIA.US_high_pct_change  \\\n",
      "0                            NaN  ...                            NaN   \n",
      "1  0.462699894471953892361393000  ...  0.365443648589387516444964200   \n",
      "2  1.066580478345184227537168700  ...  0.291290416545295659772793500   \n",
      "3  2.115979106705042106385246800  ...  1.516119663084519314551263400   \n",
      "4  0.275327522313273135341093000  ...  0.360494392309452964065003400   \n",
      "\n",
      "         DIA.US_close_pct_change           SPY.US_open_pct_change  \\\n",
      "0                            NaN                              NaN   \n",
      "1  1.150069299047506708737577800  -0.5588121250826813858540702100   \n",
      "2  0.163260546339756858400629700    0.745447038854993348318730200   \n",
      "3  1.411648281281834851704165100    1.614188466179450401839582900   \n",
      "4  0.530968371505654095631708900    0.849166517297006632012905500   \n",
      "\n",
      "           SPY.US_low_pct_change         SPY.US_high_pct_change  \\\n",
      "0                            NaN                            NaN   \n",
      "1  0.100138440239963082602676500  0.561041804456405227267544000   \n",
      "2  1.057086351000613137743929700  0.090717347424761299979588600   \n",
      "3  1.749463984307285251585237900  1.978111617157229284209095200   \n",
      "4  0.607500728552534241969109400  0.293294227436341821090521300   \n",
      "\n",
      "           SPY.US_close_pct_change         WMT.US_open_pct_change  \\\n",
      "0                              NaN                            NaN   \n",
      "1    1.560483127420247095703485200  0.109509034495345866033947800   \n",
      "2  -0.0953223939538367263566419300  1.112123974475843208751139500   \n",
      "3    1.940071332833549149231013900  1.075850462796009135713427100   \n",
      "4    0.211708599826176096984823800  0.124873639769281084616756900   \n",
      "\n",
      "           WMT.US_low_pct_change         WMT.US_high_pct_change  \\\n",
      "0                            NaN                            NaN   \n",
      "1  0.401237403902110324971668400  1.167031363967906637490882600   \n",
      "2  1.308724832214765100671140900  0.859168469118000480653689000   \n",
      "3  0.725706886687343792345448500  0.760111991421933639125513800   \n",
      "4  0.155455904334828101644245100  0.469416953401203693850283200   \n",
      "\n",
      "           WMT.US_close_pct_change  \n",
      "0                              NaN  \n",
      "1    1.384821864324060517325524600  \n",
      "2    0.896564173536313857632829900  \n",
      "3  -0.0178912213740458015267175600  \n",
      "4    1.270504026245153593796600100  \n",
      "\n",
      "[5 rows x 27 columns]\n"
     ]
    }
   ],
   "source": [
    "# df['Date'] = pd.to_datetime(df['Date'])\n",
    "# df.set_index('Date', inplace=True)\n",
    "# ['CONL.US_open_pct_change', 'NAIL.US_open_pct_change',\n",
    "#        'TSLL.US_open_pct_change', 'GGLL.US_open_pct_change',\n",
    "#        'CURE.US_open_pct_change', 'DPST.US_open_pct_change',\n",
    "#        'FAS.US_open_pct_change', 'DFEN.US_open_pct_change']\n",
    "# print(\"Hit Rates/Confusion Matrices:\\n\")\n",
    "print(y_train.head())"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "469a0a82",
   "metadata": {},
   "source": [
    "训练 拟合"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "249716bd-ac35-4422-ac98-b24300d6d432",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Index(['close', 'high', 'low', 'open', 'timestamp', 'turnover', 'volume',\n",
      "       'close_pct_change', 'high_pct_change', 'low_pct_change',\n",
      "       'open_pct_change', 'CONL.US_open_pct_change', 'NAIL.US_open_pct_change',\n",
      "       'TSLL.US_open_pct_change', 'GGLL.US_open_pct_change',\n",
      "       'DPST.US_open_pct_change', 'FAS.US_open_pct_change',\n",
      "       'LABU.US_open_pct_change', 'DFEN.US_open_pct_change',\n",
      "       'VXX.US_open_pct_change', 'QQQ.US_open_pct_change',\n",
      "       'QQQ.US_low_pct_change', 'QQQ.US_high_pct_change',\n",
      "       'QQQ.US_close_pct_change', 'DIA.US_open_pct_change',\n",
      "       'DIA.US_low_pct_change', 'DIA.US_high_pct_change',\n",
      "       'DIA.US_close_pct_change', 'SPY.US_open_pct_change',\n",
      "       'SPY.US_low_pct_change', 'SPY.US_high_pct_change',\n",
      "       'SPY.US_close_pct_change', 'WMT.US_open_pct_change',\n",
      "       'WMT.US_low_pct_change', 'WMT.US_high_pct_change',\n",
      "       'WMT.US_close_pct_change'],\n",
      "      dtype='object')\n",
      "300\n",
      "    close    high     low    open           timestamp      turnover  volume  \\\n",
      "0  13.700  15.190  13.370  13.710 2023-11-09 13:00:00  10439820.000  722828   \n",
      "1  13.710  14.415  13.480  13.970 2023-11-10 13:00:00   2470933.000  177201   \n",
      "2  13.650  13.740  12.780  13.380 2023-11-13 13:00:00   2290563.000  171873   \n",
      "3  13.530  14.170  13.040  14.110 2023-11-14 13:00:00   4637277.000  338591   \n",
      "4  14.860  15.260  13.750  13.950 2023-11-15 13:00:00   5835957.000  397354   \n",
      "\n",
      "                  close_pct_change                 high_pct_change  \\\n",
      "0                              NaN                             NaN   \n",
      "1    0.072992700729927007299270100  -5.102040816326530612244897960   \n",
      "2  -0.4376367614879649890590809600  -4.682622268470343392299687830   \n",
      "3  -0.8791208791208791208791208800   3.129548762736535662299854400   \n",
      "4    9.830007390983000739098300100   7.692307692307692307692307700   \n",
      "\n",
      "                   low_pct_change  ...         DIA.US_high_pct_change  \\\n",
      "0                             NaN  ...                            NaN   \n",
      "1   0.822737471952131637995512300  ...  0.365443648589387516444964200   \n",
      "2  -5.192878338278931750741839760  ...  0.291290416545295659772793500   \n",
      "3   2.034428794992175273865414700  ...  1.516119663084519314551263400   \n",
      "4   5.444785276073619631901840500  ...  0.360494392309452964065003400   \n",
      "\n",
      "         DIA.US_close_pct_change           SPY.US_open_pct_change  \\\n",
      "0                            NaN                              NaN   \n",
      "1  1.150069299047506708737577800  -0.5588121250826813858540702100   \n",
      "2  0.163260546339756858400629700    0.745447038854993348318730200   \n",
      "3  1.411648281281834851704165100    1.614188466179450401839582900   \n",
      "4  0.530968371505654095631708900    0.849166517297006632012905500   \n",
      "\n",
      "           SPY.US_low_pct_change         SPY.US_high_pct_change  \\\n",
      "0                            NaN                            NaN   \n",
      "1  0.100138440239963082602676500  0.561041804456405227267544000   \n",
      "2  1.057086351000613137743929700  0.090717347424761299979588600   \n",
      "3  1.749463984307285251585237900  1.978111617157229284209095200   \n",
      "4  0.607500728552534241969109400  0.293294227436341821090521300   \n",
      "\n",
      "           SPY.US_close_pct_change         WMT.US_open_pct_change  \\\n",
      "0                              NaN                            NaN   \n",
      "1    1.560483127420247095703485200  0.109509034495345866033947800   \n",
      "2  -0.0953223939538367263566419300  1.112123974475843208751139500   \n",
      "3    1.940071332833549149231013900  1.075850462796009135713427100   \n",
      "4    0.211708599826176096984823800  0.124873639769281084616756900   \n",
      "\n",
      "           WMT.US_low_pct_change         WMT.US_high_pct_change  \\\n",
      "0                            NaN                            NaN   \n",
      "1  0.401237403902110324971668400  1.167031363967906637490882600   \n",
      "2  1.308724832214765100671140900  0.859168469118000480653689000   \n",
      "3  0.725706886687343792345448500  0.760111991421933639125513800   \n",
      "4  0.155455904334828101644245100  0.469416953401203693850283200   \n",
      "\n",
      "           WMT.US_close_pct_change  \n",
      "0                              NaN  \n",
      "1    1.384821864324060517325524600  \n",
      "2    0.896564173536313857632829900  \n",
      "3  -0.0178912213740458015267175600  \n",
      "4    1.270504026245153593796600100  \n",
      "\n",
      "[5 rows x 36 columns]\n"
     ]
    }
   ],
   "source": [
    "XYDF  = pd.concat([X_train,y_train], axis=1,join='inner')\n",
    "XYDF = XYDF.loc[:, ~XYDF.columns.duplicated()]\n",
    "# X_train = X_train.loc[:, ~X_train.columns.duplicated()]\n",
    "print(XYDF.columns)\n",
    "print(XYDF.shape[0])\n",
    "print(XYDF.head())\n",
    "XYDF.to_csv('output.csv', index=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "d3ebbe20-b855-4938-a8f4-437b7d126be3",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Index(['close', 'high', 'low', 'open', 'timestamp', 'turnover', 'volume',\n",
      "       'close_pct_change', 'high_pct_change', 'low_pct_change',\n",
      "       'open_pct_change', 'CONL.US_open_pct_change', 'NAIL.US_open_pct_change',\n",
      "       'TSLL.US_open_pct_change', 'GGLL.US_open_pct_change',\n",
      "       'DPST.US_open_pct_change', 'FAS.US_open_pct_change',\n",
      "       'LABU.US_open_pct_change', 'DFEN.US_open_pct_change',\n",
      "       'VXX.US_open_pct_change', 'QQQ.US_open_pct_change',\n",
      "       'QQQ.US_low_pct_change', 'QQQ.US_high_pct_change',\n",
      "       'QQQ.US_close_pct_change', 'DIA.US_open_pct_change',\n",
      "       'DIA.US_low_pct_change', 'DIA.US_high_pct_change',\n",
      "       'DIA.US_close_pct_change', 'SPY.US_open_pct_change',\n",
      "       'SPY.US_low_pct_change', 'SPY.US_high_pct_change',\n",
      "       'SPY.US_close_pct_change', 'WMT.US_open_pct_change',\n",
      "       'WMT.US_low_pct_change', 'WMT.US_high_pct_change',\n",
      "       'WMT.US_close_pct_change'],\n",
      "      dtype='object')\n",
      "    close    high     low    open           timestamp     turnover  volume  \\\n",
      "1  13.710  14.415  13.480  13.970 2023-11-10 13:00:00  2470933.000  177201   \n",
      "2  13.650  13.740  12.780  13.380 2023-11-13 13:00:00  2290563.000  171873   \n",
      "3  13.530  14.170  13.040  14.110 2023-11-14 13:00:00  4637277.000  338591   \n",
      "4  14.860  15.260  13.750  13.950 2023-11-15 13:00:00  5835957.000  397354   \n",
      "5  14.580  14.780  14.040  14.690 2023-11-16 13:00:00  3800639.000  263403   \n",
      "\n",
      "                  close_pct_change                 high_pct_change  \\\n",
      "1    0.072992700729927007299270100  -5.102040816326530612244897960   \n",
      "2  -0.4376367614879649890590809600  -4.682622268470343392299687830   \n",
      "3  -0.8791208791208791208791208800   3.129548762736535662299854400   \n",
      "4    9.830007390983000739098300100   7.692307692307692307692307700   \n",
      "5   -1.884253028263795423956931360  -3.145478374836173001310615990   \n",
      "\n",
      "                   low_pct_change  ...         DIA.US_high_pct_change  \\\n",
      "1   0.822737471952131637995512300  ...  0.365443648589387516444964200   \n",
      "2  -5.192878338278931750741839760  ...  0.291290416545295659772793500   \n",
      "3   2.034428794992175273865414700  ...  1.516119663084519314551263400   \n",
      "4   5.444785276073619631901840500  ...  0.360494392309452964065003400   \n",
      "5   2.109090909090909090909090900  ...  0.005986658304350305034494600   \n",
      "\n",
      "           DIA.US_close_pct_change           SPY.US_open_pct_change  \\\n",
      "1    1.150069299047506708737577800  -0.5588121250826813858540702100   \n",
      "2    0.163260546339756858400629700    0.745447038854993348318730200   \n",
      "3    1.411648281281834851704165100    1.614188466179450401839582900   \n",
      "4    0.530968371505654095631708900    0.849166517297006632012905500   \n",
      "5  -0.0713735118622776715105490100  -0.1977294439137099820043989200   \n",
      "\n",
      "             SPY.US_low_pct_change           SPY.US_high_pct_change  \\\n",
      "1    0.100138440239963082602676500    0.561041804456405227267544000   \n",
      "2    1.057086351000613137743929700    0.090717347424761299979588600   \n",
      "3    1.749463984307285251585237900    1.978111617157229284209095200   \n",
      "4    0.607500728552534241969109400    0.293294227436341821090521300   \n",
      "5  -0.1515151515151515151515151500  -0.1816651158668970712038637100   \n",
      "\n",
      "           SPY.US_close_pct_change          WMT.US_open_pct_change  \\\n",
      "1    1.560483127420247095703485200   0.109509034495345866033947800   \n",
      "2  -0.0953223939538367263566419300   1.112123974475843208751139500   \n",
      "3    1.940071332833549149231013900   1.075850462796009135713427100   \n",
      "4    0.211708599826176096984823800   0.124873639769281084616756900   \n",
      "5    0.122309197651663405088062600  -5.719206556598170804133507540   \n",
      "\n",
      "            WMT.US_low_pct_change          WMT.US_high_pct_change  \\\n",
      "1   0.401237403902110324971668400   1.167031363967906637490882600   \n",
      "2   1.308724832214765100671140900   0.859168469118000480653689000   \n",
      "3   0.725706886687343792345448500   0.760111991421933639125513800   \n",
      "4   0.155455904334828101644245100   0.469416953401203693850283200   \n",
      "5  -7.169721210673989612560444150  -6.172766858891373425915028830   \n",
      "\n",
      "           WMT.US_close_pct_change  \n",
      "1    1.384821864324060517325524600  \n",
      "2    0.896564173536313857632829900  \n",
      "3  -0.0178912213740458015267175600  \n",
      "4    1.270504026245153593796600100  \n",
      "5   -8.092826010130757450818706560  \n",
      "\n",
      "[5 rows x 36 columns]\n",
      "299\n"
     ]
    }
   ],
   "source": [
    "# XYDF =XYDF.dropna()\n",
    "print(XYDF.columns)\n",
    "XYDF = XYDF.drop(XYDF.index[0])\n",
    "print(XYDF.head())\n",
    "print(XYDF.shape[0])\n",
    "# nan_rows = XYDF[XYDF.isna().any(axis=1)]\n",
    "\n",
    "# print(nan_rows)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "5a07fe6f-a34f-4175-b0e5-9bfb1faedf96",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "LR:\n",
      "0.589\n",
      "[[10 11]\n",
      " [26 43]]\n",
      "\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\TimeG\\AppData\\Local\\Temp\\ipykernel_21860\\2118755892.py:30: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
      "  y_set[ycolumname]  = np.where(y_set[ycolumname]  > 0, 1, 0)\n",
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "LDA:\n",
      "0.611\n",
      "[[10  9]\n",
      " [26 45]]\n",
      "\n",
      "QDA:\n",
      "0.644\n",
      "[[ 7  3]\n",
      " [29 51]]\n",
      "\n",
      "LSVC:\n",
      "0.600\n",
      "[[10 10]\n",
      " [26 44]]\n",
      "\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "RSVM:\n",
      "0.556\n",
      "[[15 19]\n",
      " [21 35]]\n",
      "\n"
     ]
    }
   ],
   "source": [
    "\n",
    "def useUpdatingX(df,xArr,ycolumname):\n",
    "    \n",
    "    return df[xArr], df[ycolumname]\n",
    "    \n",
    "# X_train 根据日期index %比变化为x\n",
    "#训练集 前11个月一周  测试集最后一周\n",
    "# 'CONL.US_open_pct_change', 'NAIL.US_open_pct_change',\n",
    "#        'TSLL.US_open_pct_change', 'GGLL.US_open_pct_change',\n",
    "#        'CURE.US_open_pct_change', 'DPST.US_open_pct_change',\n",
    "#        'FAS.US_open_pct_change', 'DFEN.US_open_pct_change',\n",
    "#        'QQQ.US_open_pct_change', 'DIA.US_open_pct_change',\n",
    "#        'SPY.US_open_pct_change']\n",
    "#'CURE.US_open_pct_change',\n",
    "XYDF = XYDF.apply(pd.to_numeric, errors='coerce')\n",
    "xArr = ['CONL.US_open_pct_change', 'NAIL.US_open_pct_change',\n",
    "       'TSLL.US_open_pct_change', 'GGLL.US_open_pct_change',\n",
    "        'DPST.US_open_pct_change',\n",
    "       'FAS.US_open_pct_change', 'DFEN.US_open_pct_change','VXX.US_open_pct_change']\n",
    "# X_set = XYDF[['CONL.US_open_pct_change', 'NAIL.US_open_pct_change',\n",
    "#        'TSLL.US_open_pct_change', 'GGLL.US_open_pct_change',\n",
    "#         'DPST.US_open_pct_change',\n",
    "#        'FAS.US_open_pct_change', 'DFEN.US_open_pct_change','VXX.US_open_pct_change']]\n",
    "# ycolumname = ['DIA.US_open_pct_change','SPY.US_open_pct_change','QQQ.US_open_pct_change'][2]\n",
    "ycolumname = ['DIA.US_close_pct_change','SPY.US_close_pct_change','QQQ.US_close_pct_change','WMT.US_close_pct_change'][3]\n",
    "\n",
    "X_set,y_set = useUpdatingX(XYDF,xArr,ycolumname)\n",
    "\n",
    "y_set = XYDF[[ycolumname]]#, 'DIA.US_open_pct_change','SPY.US_open_pct_change','QQQ.US_open_pct_change']]\n",
    "start_test = 210\n",
    "y_set[ycolumname]  = np.where(y_set[ycolumname]  > 0, 1, 0)\n",
    "\n",
    "X_train = X_set[X_set.index < start_test]\n",
    "X_test = X_set[X_set.index >= start_test]\n",
    "y_train = y_set[y_set.index < start_test]\n",
    "y_test = y_set[y_set.index >= start_test]\n",
    "\n",
    "\n",
    "models = [\n",
    "    (\"LR\", LogisticRegression()), \n",
    "          (\"LDA\", LDA()), \n",
    "          (\"QDA\", QDA()),\n",
    "          (\"LSVC\", LinearSVC()),\n",
    "          (\"RSVM\", SVC(\n",
    "            C=1000000.0, cache_size=200, class_weight=None,\n",
    "            coef0=0.0, degree=3, gamma=0.0001, kernel='rbf',\n",
    "            max_iter=-1, probability=False, random_state=None,\n",
    "            shrinking=True, tol=0.001, verbose=False)\n",
    "          ),\n",
    "          # (\"RF\", RandomForestClassifier(\n",
    "          #   n_estimators=1000, criterion='gini', \n",
    "          #   max_depth=None, min_samples_split=2, \n",
    "          #   min_samples_leaf=1, max_features='auto', \n",
    "          #   bootstrap=True, oob_score=False, n_jobs=1, \n",
    "          #   random_state=None, verbose=0)\n",
    "          # )\n",
    "         ]\n",
    "\n",
    "# Iterate through the models\n",
    "for m in models:\n",
    "    \n",
    "    # Train each of the models on the training set\n",
    "    m[1].fit(X_train, y_train)\n",
    "\n",
    "    # Make an array of predictions on the test set\n",
    "    pred = m[1].predict(X_test)\n",
    "\n",
    "    # Output the hit-rate and the confusion matrix for each model\n",
    "    print(\"%s:\\n%0.3f\" % (m[0], m[1].score(X_test, y_test)))\n",
    "    print(\"%s\\n\" % confusion_matrix(pred, y_test))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "0c6d4dd8-cb9c-4cd2-a860-6e85dab0cdbf",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAwgAAAHLCAYAAABs5r8kAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdd3wU1drA8d/M7qZ3SgiE0LsUMQJKVUCQKoKAKE1FQeQCguXaKNd69bVcRUUQlKqIIEVpilQFRaWHDgEChCSQ3nZ35v1js5tMdgNJJBR5vp/PKjtz5pwzu9nd88wpo+i6riOEEEIIIYQQgHqtKyCEEEIIIYS4fkiAIIQQQgghhHCRAEEIIYQQQgjhIgGCEEIIIYQQwkUCBCGEEEIIIYSLBAhCCCGEEEIIFwkQhBBCCCGEEC4SIAghhBBCCCFcJEAQQgghhBBCuEiAIIQQQgghRDFMnjyZgICAYu1TFIV33nmnxGWU9rgryXxNSxdCCCGEEOIf6Ndff6VatWrXuhqlIgGCEEIIIYQQV1irVq2udRVKTYYYCSGEEEIIcYUVHiqk6zpTp06lUqVKBAQEcP/99/PDDz+gKAobNmwwHKtpGpMmTSI8PJzy5cszfPhwMjIyrlrdJUAQQgghhBCiBGw2m9tD07RLHvPhhx8yefJkhg0bxpIlS6hTpw4jR470mPajjz7iyJEjfPnll7z88sssWLCA//znP2VxKh7JECMhhBDiMqxWK7NnzwZg+PDhWCyWa1wjIcQVo9xvfK4vuWTyjIyMIr8D/P39PW632+28+eabDB8+nDfffBOAe+65h/j4eL788ku39JUqVWL+/PkAdO3ald9//53Fixe7ji1r0oMghBBCCCFEMfn6+vL777+7PUaMGFHkMadPn+bs2bP06tXLsL13794e099zzz2G5w0bNuT06dN/v/LFJD0IQgghhBDiJqaUKLWqqkRHR7ttX7lyZZHHnD17FoAKFSoYtlesWNFj+pCQEMNzLy8vcnJySlTPv0MCBCGEEEIIcRMrWYBQGhEREQAkJCQYtp8/f77Myy4NGWIkhBBCCCFEGYqMjKRSpUosW7bMsP277767NhW6DOlBEEIIIYQQN7Gy70EwmUz8+9//Zty4cYSHh3PXXXexfv16fv75Z8AxbOl6cn3VRgghhBBCiKtKKfQoG2PGjGHSpEnMmjWLPn36EBMTw1tvvQVAcHBwmZVbGoqu6/q1roQQQghxPZNlToX4B1P6G5/ri65a0S+99BLvvvsuSUlJ+Pr6XrVyL0eGGAkhhBBCCFHGYmJimDdvHnfeeSdeXl5s2LCBd955h1GjRl1XwQFIgCCEEEIIIW5qZT8HAcDPz49t27bx6aefkpqaSpUqVXjmmWeYPHnyVSm/JCRAEEIIIYQQooxVq1aNn3766VpXo1gkQBBCCCGEEDexq9ODcCORAEEIIYQQQtzEJEAoTJY5FUIIIYQQQrhID4IQQgghhLiJSQ9CYRIgCCGEEEKIm5gECIXJECMhhBBCCCGEi/QgCCGEEEKIm5j0IBQmAYIQQgghhLhp6YUCBAkXZIiREEIIIYQQogAJEIQQQgghhBAuMsRICCGEEELcxGRQUWHSgyCEEEIIIYRwkR4EIYQQQghx05JJyu4kQBBCCCGEEDcxCQkKkyFGQgghhBBCCBfpQRBCCCGEEDcx6UEoTAIEIYQQQghx0yo8B0FIgCCEEEKU2Kl9acTuTqViDT/qtAhBUaWBIYT455AAQQghhCiBzfPOsHXhWdfz+m3CeOCVutewRkKIv0cC/MJkkrIQQghRTFquiW3fnDNsO7DlAnEH0q9RjYQQf5de6CEkQBBCCCGKTcsyY7e5NyGS43OuQW2EEKJsyBAjIYQQN5Qdh3JZ/Uc2QX4q/dr44mOBlRszSUi2c0cTH+5s6uPxuCNHstm6JR0vb4UOHQKJiPAiJdnG5rUXSU220SQ6kFuaBxRZrj3LQkZcGCZ/M9YMO2retUazt0qNZkFlcq5CiKtBhhgVpui6Lr0pQgghbgjf/5bNS1+mup4H+SlUUDUuJttd20bcH8jALoGG4/76K4P334vH+Yvn46PwzDOV+OL9OJKTbK50fYdU5O7uYW7lJidk8v6IXWg5Ftc2VbNTvpIXXUZXp06L0Ct1ikKIq8yqjDA8t+gzrlFNrh8yxEgIIcQNY/baDMPz1EyduFTjda6v1qRT+NrXD9+nUHBTdrbOooVJhuAAYO2yJI/l7vrpoiE4AAio6MPoL5pJcCCE+MeRAEEIIcQNIz3LvdO78JasbB2t0MbMTM3tuKwsD9s8pAPIzrC7bcvJsKMoMjRBiBufUughZA6CEEIIl5OpOq9v19ifpNMhUuH5lip+lrL7wVx3yMaHv+SSY9N59HYv+je1XDL9HQ28+O7XbNdzBfDWjY369rf5Yip0X4JWdwRw6tQFw7aIyhaST4JeYNJxxYoWvvn0NGdjc1A0HRWdoFALGYnZOEKR/HwtFvhk+E68fVUqVPMlNzUXa5ZGvQ7lyDqfzak/LhIa5Yevv4n4vSmERPrStH9Vjq09y9k/LxBWO5DmI2oTEO572ddJt2scnnGYM2tO4xfhR70xDQhuEAJA4o9niJ12EM2qETmsNhH9ql02v4JSlh8n8dO9oED5UbcQ3KMGANl7Ekl663dsp9MJvK8WoWOaoZhUrEcvkvz6r9iOXMT3nhoET2yB4i3NCXHjkhuluZM5CEIU0/Tp05kxYwbLly+ncuXK17o6Qlxx2Tad+rPsxOYP8ad3bYXv7jOVSXkbj9m4+7NMw9X+OQN8GNzcy2P6i+kaPacmkpaR30z3NYF3js3VHR4eZuLzSRXw8zF2kJ+MzWbSy3HY82IJx3VCnejmfhz6PQXNDug6Frvd0LWu6DomTQddx2zXUDUNsxn0XDsmu2ZMq2mYNA2T1YZa8KdV1zHZ7CiAF3b0nPzeiKCqfgz8rgMmy6U79He98heHpx90PbcEWbhnczcyD6bwW5cfKfgiNpndmioP1bxkfk7Jy45x/L4fDNtqruiOX7PyHGs0By0117U9bMJtVHilJafrfoY9Pn+ol//Djag4t2exyhPiepSrPGF47qVPv0Y1uX5csZA/Ojq62GmdDayMjAy+/vprfvzxR86cOYPdbic0NJQ6derQtm1b7rvvPtcxkydPZuXKlaxevZry5csXmXdx013qPJo3b85nn33mcf/jjz/On3/+yY4dOwzbd+7cyZw5czh8+DCJiYkEBgYSHh5O06ZNGThwIJGRkSWuiyiegwcPsmHDBnr27CkNdyH+hlXHdUNwALD8iM6ZdJ3KAVf+Cttn23PdhgJ9us1aZICw7q8cUjIxjABIt+t4oeDsQzh7QSM9S8ev0EJGW7eko2vu42oP7M6AvPa6qutu+3VFQUdHURQ0RQFVRc3JBU9pVRXdbkcpfN1NUdAVBUXT0HONQ5VST2VyelsC1dqGezxnAF3TOTb3qGGbNdXKqaWxZP6SQOEX8dSMQ8UOEJKm73Pbljh9HyFtww3BAUDy9N343hJiCA4AMhbuR/uoM2qw59WjhLj+SQ9CYVcsQJg6darh+fHjx5k9ezZ33XUXd911l2FfaGgoGRkZDBkyhNOnT9OpUyd69eqF2WwmLi6O7du3s3DhQkOAcD1bsmQJr7/+OlWrVqVHjx6Eh4dz8eJFjh49yooVK2jWrJkECGXo0KFDzJgxg9tuu00CBCGEEEKUiAwxcnfFAoRu3boZnu/YsYPZs2dTu3Ztt30A8+bNIzY2lokTJzJw4EC3/fHx8VeqamXKZrPx0UcfERERwbx58/D39zfsz87OJidHbqAjhIDzGTpPb9BYf1KnfpjCG+1UWkYU74dJ13X++5vOjD0aFhXG3Kry5K2XX2fir3idZzdp7EvUaRep8O5dapG9AQ3DwM8MmQUW9ulQFR5bbefXOMfE30ALDLlFZUobFYvp8nW32nUmrbeyYLedYG94rq2FB5uYeHNjLhuOF5r4q+ucvmAn8j+phPjAhXSNWuVNvN7dh7Y1LXS+1Zv3lqWTnu24Ym7Sdfx1HZviuP5n0uHOxt5kZ2r854sLHD+ZS73a3gwfEEKbtoGsW5OCVmgOcuPoAPb/koLdpqMpjp4ItVCdnP9XdB1V09BUBdWu589IyNun6DooCpqqYipYkK6jKzh6ICwqWPP2aTpmE2x+eSeHmoaScy6TtJMZVL6zIi1eaIJvOW8AFFWh5uBahiFGiknhyPv78Q/xKlA/QAdbUg5JP50hYf5RLqyJw6eaP97lvcn4IxHvagFU+89thHSsAkC5JxqRuirW8Jp4RfoTNKg+ia9uR0uzurYH9KlNwP31SH5+o6EXQfFSOdN4BorVjinUh4BxLQh4vHmRfxPZ/7eJnOnbQQHvJ+/AZ2ybItN6oqdloz37DfqK3VA1FHVKb9R7GqHn2uDlxfDVNggLgH/3ROnfskR589NueHkhxCZAj9vg7aEQ5Ff84+OS4OnZsDkGbomCtwbDrcXrzXE5eg4mfAHbD8FtteCdoVD/Gl1k/OYXeP1buJAGA9rAqw+C16XnCbElBl6Y7ziPe5rCO8OgXOCljxHXnWs2q+jkyZNA0UOTwsOL7m69niQnJ5Oamkp0dLRbcADg4+ODj0/Ju13tdjsLFixgxYoVnD59Gm9vb5o2bcqIESNo1KiRIW10dDQ9evTg3nvv5ZNPPuHw4cP4+/vTuXNnRo8ejZ+f8cstPT2dWbNmsX79euLj4/H396dFixY8+eSThp6OFStWMGXKFD755BP27dvH0qVLOX/+PBERETzyyCP06NGjxOfVs2dPIiIiePrpp3n//ffZt28fFouFNm3aMHbsWMqVK2dIb7VaWbBgAWvWrCE2Nhaz2UxUVBQ9evRgwIABriFlACNHjnQdN2LECJ54wjim8FIuV05Bubm5fPDBB6xevZrk5GSqV6/O6NGjadPG+CP3zTffsGHDBo4dO8bFixcJDg6mRYsWjBo1yq2nw/ke3nfffXz00UfExMTg4+NDhw4dmDBhgtt7uHPnTkO61q1bM378eDp37kyPHj2YPHmyIf3atWv5+uuvOXz4MHa7ndq1azN48GA6depU7NdI/H39V9jZeNrx77MZOvd8Y+f4CBNhvpdvaE/7S+f5zfmNztE/aZTzhQH1iw4S0nJ1Oi+2k5TleP71QZ1jKXZ+e9j9q1/Xde5frhmCgwCzTkwinCswoiQ1B97YpqEo8Fq7y89NmLzeyhub8jN9aHEuv55U+eiXvIangmPur66DBieTHQ3yuBTH9rNpNrp+ls6RF4JRNZ3cvAnFiq7j5xxaoyjoQOVwE/8eFsy4l89xMcXxWm37I4u4s1Z6tffDpuUPJNABRYf921Kx2fLzyVVVfOwFowgFn0ATemoOaBoKYEdFVxV8zDr2bDtq3nZnHvhaaNghlP3fnwXdUVdFUUAFrxBvcuOzHA16u4Zmh4z4bI6tPYti1zDbNY5+d5LM81ncO7edqxZNJjXFt7Ifcd+fIvmPJJRsO9YMG+mxGSgKqPb8c8vYn8If3X7CkmtFAWxn0snM25d7JpN93ddyW0w/fGoEEtK7JuUfb0TSZ/lDjZI+3UdAh0jMVQLIPZA/sTvjh2Ng6kjElodJfuNXMlccRk/IgCwN+ykroKOdSyf5iR8wVfDDt099t7+HnBnbyZr4vet51rgVKKG+eA+5zePfjyfaE3PQF/7meBJ3Ea3nhyj7psD09fBO3nyKk0kwcBp6ZCjKnXWLl/HxeOj+GuTk/W1+tg4uZsCiicWuG/e9CTvyhoOdvQh/HoMTn0LA5SeiO05Og67/gSNnHc+//wP2xMKRj8FylZts2w7CgP/LD5Lf/g7sdvi/4UUfc+6io/4ZeQsJfPEznEuGVS+XdW3FFXbNljmtUsVx9WLFihXYbLbLpL5+hYWF4efnx19//cWJEyeuWL6TJk3igw8+oFy5cvzrX/9i4MCB7N27l8cee8xt/gPAgQMHmDhxIo0bN2bcuHHceuutfP3114wbNw6twJWs9PR0HnnkERYvXkybNm145pln6N+/P3/88QfDhg3j7Nmzbnl/9NFHrFmzhvvvv58xY8agKAqTJ09m586dpTq38+fPM2rUKKpUqcK//vUv7rrrLlatWsUTTzxBVlaWK53VauWpp57iww8/pFy5cowaNYonn3yS+vXr8/PPPwNw//3306dPHwCGDx/O1KlTmTp1KnfffXex61OccgqaNGkSe/fuZfDgwYwcOZKLFy8yceJEzpw5Y0g3b948wsLCePDBB3nuuefo3LkzP//8M4888gjJyclu+R46dIgJEybQuHFjnn76aVq2bMmyZct47733DOl27drFk08+yfHjxxk8eDAjRowgKSmJf/3rXx7P7+OPP+aFF17A39+fkSNHMmbMGHx9fXn++edZtGhRsV8n8fecSdddwYFTai58f6x460TMj3FffnNBzKWPXXNcdwUHTr+fgyMX3Y/beR72F7oFQLrVGBwArlbogv2elwN1q+Nu9+VBF+0u8J2vKKAq7muVFpCZC9/tsfLTrhxy8w416+6jhk8l2Nl3KMcVHLi2n7Hx84Y011wAXVEc5Spgs+p5/3Y8TChuCx5mZmhoNmMQoKkq1lzNfb4BYLfpZKVrqJqOqhsHL6QnO05A0dwHNegFVl46+0sCWYkFVmsyqdQdWY+6j9RBzbKj6KDanXl4yMumo+VFX277cuwkLjnuep61O9HtHJI+24v1wAXD66AlZZOxLhZL7VDKf3wPXMgstCik4nobMxe4z20AyF2ws1jbiqJbbejf/FEoAxv64j9gwa+FEuuO3oTi+vbX/ODAack2921FOXQmPzhwSkqDtbuKX4ffj+QHB04nE2HrgeLncaUs3AKF/74XbL70Mct+yw8OnFb/5eiBuI7pKIaHuIY9CH369GHRokXMnz+fVatW0axZMxo1akTTpk1p0qQJqnpj3KJBVVUef/xx3n//fQYMGEC9evVo0qQJt9xyC9HR0aWaKL19+3ZWr17NXXfdxVtvveV6Lbp3786AAQN44403WLx4sWH97SNHjvDOO+/QoUMHAB544AHeeecdvvrqK9asWcO9994LwCeffEJcXByzZ8+mbt38qyo9e/Zk4MCBTJ8+3e3qs9VqZc6cOVgsjm7FTp060bt3bxYtWkSzZs1KfH6nT5/m6aefZtCgQa5tNWvW5L33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",
      "text/plain": [
       "<Figure size 800x470 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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4eDBg8yfP58TJ07w9ddfO9VjxYoVXL9+nW7duuHt7c2GDRv46quvKFmyJO3bt7enW7hwIZ9//jmVKlVi1KhRWCwW1q1bx6+//uqUp8lk4sUXX+To0aN07NiR3r17k5yczA8//MCQIUOYOXMmNWrUyPV7JUShmrHpVnBgM32zc4Awf9ut4MDmZnAAoKIn+xwdGlQUxQS42fddDAki0aDHrLmV9qqPGxZN7m74VWD6EZWnwnKVXAghHhgFFiDYnv5HRUU57E9PTychIQFVVbl27RpLly7l5MmT1KhRg9DQUACGDh3Kvn37ePXVVwkNDaVu3brUrFmT8PDwPN0I3g+1atWiWbNm7Ny5k44dO1KnTh1q1apF7dq1adCggcOT4tyaP38+586dY/z48Q4tAHXq1OGtt95i+vTp9vEZNlFRUSxfvtw+xqN3794MGTKEOXPm0K1bN4KDgwF45513KFasGAsWLHC4uW/QoAETJ05kw4YNTjP1VK9enddff92+XaFCBV5//XU2btxIjx498nx9J0+eZP78+fan188++ywTJ05k/fr1dO/enXr16gHwwQcfcPXqVb7++munp/iWmzcJLVq0YNu2bRw6dCjf3chyU45NQkIC/fr1c3iqHxAQwJdffsm+ffto0qQJYA0cf/zxR4dgq3fv3nzzzTd89913/Pnnn04tMLGxsSxfvhwfH+tUit26daNz584sXbrUHiDcuHGDb775hrCwMObOnWv/++rZs6fL1qLvv/+e33//nS+//JLHH3/cvr9nz548++yzfP755w4D7gtTfHw8Xl5euLlZb9CSk5NRVdX+fmRmZpKUlOQQHF++fNn+t+1q29aaptx8OiRlFPEyXIwjzsjIyHJLf7MMS/6WOnJ1zt3OT6SqD/HnIWVIGQVUxv0m6yA4K7B2T9vNaEpKisP+WbNm0aZNG9q2bctzzz3HmjVrePzxx/nkk0/saerUqcPChQvp2LEjN27cIDIykg8++IBevXoxbNgwe4tDYfnoo4+YMGECFSpU4Pfff2f27Nm8/PLLtGvXjoULF+Y5v23btuHn50evXr0c9rdv356QkBB++eUXp3Pat2/vMABcr9fTt29fzGYzO3bsAODUqVP8888/tGvXDqPRSEJCgv1Vr149PDw82LNnj1Peffv2ddi2dd25cOFCnq8NoFGjRg5dWxRFoX///vZr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",
      "text/plain": [
       "<Figure size 800x470 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Using 209 background data samples could cause slower run times. Consider using shap.sample(data, K) or shap.kmeans(data, K) to summarize the background as K samples.\n"
     ]
    },
    {
     "data": {
      "image/png": "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QVEUGjRowJtvvklgYGCermndunVMnjyZqVOncvjwYdatW0dsbCyhoaEMGDCAtm3bOp1z4sQJZs+ezaFDh0hOTiYgIIA6derwyiuv2P+2AK5everwGdyum9jt3KmckJAQh7SHDx9mypQpHD9+HHd3d5o1a8bYsWPx9PS0pzl//jxLlizh4MGDREdHYzabKV++PN26deOFF15wyM/2Ga5YsYI1a9awadMmEhISCAsLY+TIkTRu3NghfWZmJtOmTWPTpk0kJiZSrlw5+vXrx4ULF5gxYwZr166ldOnS9vQ3btxgxowZ7Nq1i9jYWPz8/GjSpAkjRowgICAgT++TEEVavUqw1rkVQUVDKsGAFnfMlLLEEq299f2WXMydDE8Ds5+sjlGf7SczSwVPmHtMZUJD+O2qSve1FizZehxFXobnVpg5O1hLoKcECUKIouOBD1Lu1KkTM2fOZO3atU4Bwk8//URqaioDBgxw2B8WFsaIESP48ssv+fTTT9mwYQMVK1Zk6NChLstQFIX33nuPXr16MXHiRIKDg0lOTuazzz7D3d39gV1bmTJlAOvN76uvvopOd+9v54kTJxgyZAgajYYePXpQsmRJ9uzZw/Tp0/njjz/48ssv0Wgcm8Bt3az69u1LWloaq1at4rXXXuOrr75yCBJWrVrFhx9+SO3atRk4cCCenp7s27ePjz76iKioKF577TWHfK9fv86IESNo3rw5zZo14+TJk6xevZrU1FSmTp2ar+v75ptvSE9Ptwck69at45133iEjI8PeJQ1g586dvPnmm3h6etK5c2fKli1LbGwse/bs4fTp0zRo0ID333+fzz//HD8/PwYOHJiv+tytnOwBwqlTpxg7diydO3emXbt2/P7776xZswaNRsOECRPs6Q4cOMDhw4d59tlnKVWqlD0Q/ve//01CQoLT3ztYP0ODwUCfPn0wGo0sXryYcePGsWrVKocb/rfffpudO3fSuHFjnn76aa5fv24PhnOKjo5mwIABGI1GunTpQkhICJcvX2bFihUcOHCA+fPn4+3tna/3TYgi5/hll7tNeABa+3ZFUxT+lmT2lK5Bso8HSf6eXCnmRYy3p/PJZpW/ExTOJ6osOeEYHNgkZ8G6MyoDakuAIMRDS/57OlMLwIgRI9R69eqpMTExDvuHDBmi1q9fX71+/brTOWazWR00aJAaHh6u1q9f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",
      "text/plain": [
       "<Figure size 800x470 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 800x470 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "RSVM\n"
     ]
    }
   ],
   "source": [
    "import shap\n",
    "for m in models:\n",
    "    try:\n",
    "        explainer = shap.Explainer(m[1], X_train)\n",
    "        \n",
    "        # 计算测试集的SHAP值\n",
    "        shap_values = explainer(X_test)\n",
    "        \n",
    "        # 绘制SHAP值总结图（Summary Plot），展示每个特征的重要程度\n",
    "        shap.summary_plot(shap_values, X_test)\n",
    "    except TypeError:\n",
    "        try:\n",
    "            xplainer = shap.KernelExplainer(m[1].predict_proba, X_train)\n",
    "            shap_values = explainer.shap_values(X_test)\n",
    "            # 绘制SHAP值总结图（Summary Plot），展示每个特征的重要程度\n",
    "            shap.summary_plot(shap_values, X_test)\n",
    "        \n",
    "        except AttributeError:\n",
    "            print(m[0])\n",
    "    #     explainer = shap.KernelExplainer(m[1].predict_proba, X_train)\n",
    "# print(X_train.head())\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "64532c5d",
   "metadata": {},
   "source": [
    "＃Ｘ指标 恐贪  基本面数据  个股指标计算 回测工具 finbert 情绪语言 内在价值(easyquotation)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "658604f1",
   "metadata": {},
   "outputs": [],
   "source": [
    "from decimal import Decimal, DivisionUndefined\n",
    "import talib\n",
    "def fillMean(df):\n",
    "    means = df.replace(0, np.nan).mean()  \n",
    "    # 用均值填充 0 值\n",
    "    df = df.replace(0, means)\n",
    "    # means = df.replace(0, pd.NA).mean(axis=0, skipna=True)\n",
    "    print(means)\n",
    "    return means\n",
    "    \n",
    " \n",
    "def calculate_wvad(df):\n",
    "    df['WVAD'] = ((df['close'] - df['open']) / (df['high'] - df['low']) * df['volume']).fillna(0)\n",
    "    df['WVAD'] = df['WVAD'].cumsum()\n",
    "    # print(\"ssss类型%s, 头 %s \" % (type(df), df.head())) \n",
    "    return df\n",
    "\n",
    "def calculate_vpt(df):\n",
    "    \"\"\"\n",
    "    Calculates the Volume Price Trend (VPT) indicator.\n",
    "\n",
    "    Args:\n",
    "        df: pandas DataFrame with columns 'Close' and 'Volume'.\n",
    "\n",
    "    Returns:\n",
    "        pandas DataFrame with the 'VPT' column added.\n",
    "    \"\"\"\n",
    "\n",
    "    df['VPT'] = 0\n",
    "    df.loc[0, 'VPT'] = df.loc[0, 'volume']  # Initialize VPT for the first row\n",
    "\n",
    "    for i in range(1, len(df)):\n",
    "        price_change = (df.loc[i, 'close'] - df.loc[i - 1, 'close']) / df.loc[i - 1, 'close'] \n",
    "        df.loc[i, 'VPT'] = df.loc[i - 1, 'VPT'] + (df.loc[i, 'volume'] * price_change)\n",
    "    # print(\"ssss类型%s, 头 %s \" % (type(df), df.head())) \n",
    "    \n",
    "    return df\n",
    "\n",
    "# OBV指标计算\n",
    "# def calculate_obv(df):\n",
    "#     df['obv'] = 0\n",
    "#     for i in range(1, len(df)):\n",
    "#         if df['close'][i] > df['close'][i-1]:\n",
    "#             df.at[i, 'obv'] = df.at[i-1, 'obv'] + df.at[i, 'volume']\n",
    "#         elif df['close'][i] < df['close'][i-1]:\n",
    "#             df.at[i, 'obv'] = df.at[i-1, 'obv'] - df.at[i, 'volume']\n",
    "#         else:\n",
    "#             df.at[i, 'obv'] = df.at[i-1, 'obv']\n",
    "#     return df\n",
    "def calculate_obv(df):\n",
    "    \"\"\"\n",
    "    计算 OBV 指标。\n",
    "    :param df: 包含 'close'（收盘价）和 'volume'（成交量）的 DataFrame。\n",
    "    :return: 包含 OBV 指标的 DataFrame。\n",
    "    \"\"\"\n",
    "    df['OBV'] = np.where(df['close'] > df['close'].shift(1), df['volume'], np.where(df['close'] < df['close'].shift(1), -df['volume'], 0)).cumsum() + df.loc[0, 'volume']\n",
    "    # print(\"ssss类型%s, 头 %s \" % (type(df), df.head())) \n",
    "    return df\n",
    "\n",
    "# 量比指标计算\n",
    "# def calculate_volume_ratio(df, period=5):\n",
    "#     df = pd.dataframe\n",
    "#     df['avg_volume'] = df['volume'].rolling(window=period).mean()\n",
    "#     df['volume_ratio'] = df['volume'] / df['avg_volume'].shift(1)\n",
    "#     return df\n",
    "    \n",
    "def calculate_volume_ratio(df, period=5):\n",
    " \n",
    "    # 计算过去 period 天的平均成交量\n",
    "    # average_volume = df['volume'].rolling(window=period).mean()\n",
    "    # # 计算量比，当前成交量与平均成交量的比值\n",
    "    df['volume_ratio'] = df['volume'] / df['volume'].shift(1)\n",
    " \n",
    "    # print(\"ssss类型%s, 头 %s \" % (type(df), df.head())) \n",
    "    return df\n",
    "    \n",
    "# 计算所有指标\n",
    "# df = calculate_adx(df)\n",
    "# df = calculate_wvad(df)\n",
    "# df = calculate_vpt(df)\n",
    "# df = calculate_obv(df)\n",
    "# df = calculate_volume_ratio(df)\n",
    "\n",
    "# # 显示结果\n",
    "# print(df[['ADX', 'WVAD', 'vpt', 'obv', 'volume_ratio']])\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "\n",
    "\n",
    "def calculate_max_drawdown(data):\n",
    "    \"\"\"\n",
    "    计算最大回撤\n",
    "    \"\"\"\n",
    "    data['cummax'] = data['close'].cummax()\n",
    "    data['drawdown'] = (data['close'] - data['cummax']) / data['cummax']\n",
    "    max_drawdown = data['drawdown'].min()\n",
    "    return max_drawdown\n",
    "\n",
    "def calculate_consecutive_declines(data):\n",
    "    \"\"\"\n",
    "    计算连续下跌天数\n",
    "    \"\"\"\n",
    "    data['decline'] = np.where(data['close'] < data['close'].shift(1), 1, 0)\n",
    "    data['consecutive_declines'] = data['decline'].groupby((data['decline'] != data['decline'].shift()).cumsum()).cumsum()\n",
    "    max_consecutive_declines = data['consecutive_declines'].max()\n",
    "    return max_consecutive_declines\n",
    "\n",
    "\n",
    "\n",
    "def calculate_max_drawdown(data, window):\n",
    "    \"\"\"\n",
    "    计算窗口期内的最大回撤\n",
    "    \"\"\"\n",
    "    data['cummax'] = data['close'].rolling(window=window, min_periods=1).max()\n",
    "    data['drawdown'] = (data['close'].astype(float) - data['cummax'].astype(float)) / data['cummax'].astype(float)\n",
    "    data['max_drawdown'] = data['drawdown'].rolling(window=window, min_periods=1).min()\n",
    "    return data\n",
    "\n",
    "def calculate_consecutive_declines(data, window):\n",
    "    \"\"\"\n",
    "    计算窗口期内的连续下跌天数\n",
    "    \"\"\"\n",
    "    data['decline'] = np.where(data['close'].astype(float) < data['close'].shift(1).astype(float), 1, 0)\n",
    "    data['consecutive_declines'] = data['decline'].groupby((data['decline'] != data['decline'].shift()).cumsum()).cumsum()\n",
    "    data['max_consecutive_declines'] = data['consecutive_declines'].rolling(window=window, min_periods=1).max()\n",
    "    return data\n",
    "\n",
    "def calculate_fear_greed_index(data, window, skip_initial=21):\n",
    "    \"\"\"\n",
    "    计算恐贪指数，并将结果添加到DataFrame中\n",
    "    \"\"\"\n",
    "    # 仅对第31条及以后的数据进行计算\n",
    "    data_to_calculate = data.iloc[skip_initial:].copy()\n",
    "    \n",
    "    # 计算最大回撤\n",
    "    data_to_calculate = calculate_max_drawdown(data_to_calculate, window)\n",
    "    \n",
    "    # 计算连续下跌天数\n",
    "    data_to_calculate = calculate_consecutive_declines(data_to_calculate, window)\n",
    "    \n",
    "    # 计算恐惧指数和贪婪指数\n",
    "    data_to_calculate['fear_index'] = data_to_calculate['max_drawdown'] * data_to_calculate['max_consecutive_declines']\n",
    "    data_to_calculate['greed_index'] = 1 - data_to_calculate['fear_index']\n",
    "    \n",
    "    # 计算恐贪指数\n",
    "    data_to_calculate['fear_greed_index'] = data_to_calculate['fear_index'] / data_to_calculate['greed_index']\n",
    "    \n",
    "    # 将计算结果合并回原始DataFrame\n",
    "    data = pd.concat([data.iloc[:skip_initial], data_to_calculate])\n",
    "    \n",
    "    return data\n",
    "\n",
    "    \n",
    "def calDF(df):\n",
    "    \n",
    "    df = calculate_wvad(df)\n",
    "    df = calculate_vpt(df)\n",
    "    df = calculate_obv(df)\n",
    "    df = calculate_volume_ratio(df)\n",
    "    df = calculate_fear_greed_index(df,20)\n",
    "    return df\n",
    "   "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "513a1cb3-a44c-40c3-8cb7-16a1b2100850",
   "metadata": {},
   "outputs": [],
   "source": [
    "def max_drawdown(df):\n",
    "    cummax = df['close'].cummax()\n",
    "    drawdown = cummax - df['close']\n",
    "    max_dd = drawdown.max()\n",
    "    return max_dd\n",
    "def consecutive_down_days(df):\n",
    "    return df['close'].diff().lt(0).rolling(window=10).sum()\n",
    "def volume_change(df):\n",
    "    return df['volume'].pct_change()\n",
    "def volatility(df):\n",
    "    return df['close'].pct_change().rolling(window=20).std()\n",
    "def normalize(x):\n",
    "    return (x - np.min(x)) / (np.max(x) - np.min(x))\n",
    "    \n",
    "def fear_index(df, weights=[0.4, 0.3, 0.2, 0.1]):\n",
    "    # 计算指标\n",
    "    max_dd = max_drawdown(df)\n",
    "    consecutive_downs = consecutive_down_days(df)\n",
    "    volume_change = volume_change(df)\n",
    "    volatility = volatility(df)\n",
    "\n",
    "    # 归一化\n",
    "    max_dd_norm = normalize(max_dd)\n",
    "    consecutive_downs_norm = normalize(consecutive_downs)\n",
    "    volume_change_norm = normalize(volume_change)\n",
    "    volatility_norm = normalize(volatility)\n",
    "\n",
    "    # 加权计算\n",
    "    fear_index = max_dd_norm * weights[0] + consecutive_downs_norm * weights[1] + \\\n",
    "                volume_change_norm * weights[2] + volatility_norm * weights[3]\n",
    "    df['fear_index'] = fear_index\n",
    "    return df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "fb162333-b622-4a49-b9fa-3162eea4d75e",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\TimeG\\AppData\\Local\\Temp\\ipykernel_21860\\2401068125.py:34: FutureWarning: Setting an item of incompatible dtype is deprecated and will raise an error in a future version of pandas. Value '230533.9065573770491803278688' has dtype incompatible with int64, please explicitly cast to a compatible dtype first.\n",
      "  df.loc[i, 'VPT'] = df.loc[i - 1, 'VPT'] + (df.loc[i, 'volume'] * price_change)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "类型<class 'pandas.core.frame.DataFrame'>, 头 <bound method NDFrame.head of       close    high     low    open           timestamp       turnover  \\\n",
      "0    12.200  12.800  11.970  12.180 2023-08-30 12:00:00    3059602.000   \n",
      "1    11.330  12.380  11.170  12.300 2023-08-31 12:00:00    2702830.000   \n",
      "2    10.940  11.420  10.790  11.350 2023-09-01 12:00:00    1617018.000   \n",
      "3    10.870  11.180  10.620  10.950 2023-09-05 12:00:00    1097201.000   \n",
      "4    10.980  11.340  10.680  10.840 2023-09-06 12:00:00    2897036.000   \n",
      "..      ...     ...     ...     ...                 ...            ...   \n",
      "345  42.000  42.950  39.082  39.675 2025-01-15 13:00:00  222110231.000   \n",
      "346  44.000  45.025  39.900  41.890 2025-01-16 13:00:00  150209845.000   \n",
      "347  48.170  49.710  46.450  47.150 2025-01-17 13:00:00  284897316.000   \n",
      "348  47.790  50.660  41.190  49.100 2025-01-21 13:00:00  442350008.000   \n",
      "349  48.220  49.250  45.250  46.600 2025-01-22 13:00:00  230279462.000   \n",
      "\n",
      "      volume                 close_pct_change                 high_pct_change  \\\n",
      "0     247007                              NaN                             NaN   \n",
      "1     231002   -7.131147540983606557377049180                      -3.2812500   \n",
      "2     146221   -3.442188879082082965578111210  -7.754442649434571890145395800   \n",
      "3     101067  -0.6398537477148080438756855600  -2.101576182136602451838879160   \n",
      "4     262352    1.011959521619135234590616400   1.431127012522361359570661900   \n",
      "..       ...                              ...                             ...   \n",
      "345  5433460    15.06849315068493150684931510   11.24061124061124061124061120   \n",
      "346  3515253    4.761904761904761904761904800   4.831199068684516880093131500   \n",
      "347  5918453    9.477272727272727272727272700   10.40533037201554691837867850   \n",
      "348  9548912  -0.7888727423707701889142619900   1.911084288875477771072218900   \n",
      "349  4867049    0.899769826323498639882820700  -2.783260955388866956178444530   \n",
      "\n",
      "                     low_pct_change  ... volume_ratio cummax  drawdown  \\\n",
      "0                               NaN  ...          NaN    NaN       NaN   \n",
      "1    -6.683375104427736006683375100  ...     0.935204    NaN       NaN   \n",
      "2    -3.401969561324977618621307070  ...     0.632986    NaN       NaN   \n",
      "3    -1.575532900834105653382761820  ...     0.691193    NaN       NaN   \n",
      "4     0.564971751412429378531073400  ...     2.595823    NaN       NaN   \n",
      "..                              ...  ...          ...    ...       ...   \n",
      "345   10.93386318478569401078626170  ...     1.103599  58.71 -0.284619   \n",
      "346   2.093035156849700629445780700  ...     0.646964  57.20 -0.230769   \n",
      "347   16.41604010025062656641604010  ...     1.683649  48.17  0.000000   \n",
      "348  -11.32400430570505920344456405  ...     1.613414  48.17 -0.007889   \n",
      "349   9.856761349842194707453265400  ...     0.509697  48.22  0.000000   \n",
      "\n",
      "     max_drawdown  decline  consecutive_declines  max_consecutive_declines  \\\n",
      "0             NaN      NaN                   NaN                       NaN   \n",
      "1             NaN      NaN                   NaN                       NaN   \n",
      "2             NaN      NaN                   NaN                       NaN   \n",
      "3             NaN      NaN                   NaN                       NaN   \n",
      "4             NaN      NaN                   NaN                       NaN   \n",
      "..            ...      ...                   ...                       ...   \n",
      "345     -0.502116      0.0                   0.0                       4.0   \n",
      "346     -0.502116      0.0                   0.0                       4.0   \n",
      "347     -0.502116      0.0                   0.0                       4.0   \n",
      "348     -0.502116      1.0                   1.0                       4.0   \n",
      "349     -0.502116      0.0                   0.0                       4.0   \n",
      "\n",
      "     fear_index  greed_index  fear_greed_index  \n",
      "0           NaN          NaN               NaN  \n",
      "1           NaN          NaN               NaN  \n",
      "2           NaN          NaN               NaN  \n",
      "3           NaN          NaN               NaN  \n",
      "4           NaN          NaN               NaN  \n",
      "..          ...          ...               ...  \n",
      "345   -2.008465     3.008465         -0.667605  \n",
      "346   -2.008465     3.008465         -0.667605  \n",
      "347   -2.008465     3.008465         -0.667605  \n",
      "348   -2.008465     3.008465         -0.667605  \n",
      "349   -2.008465     3.008465         -0.667605  \n",
      "\n",
      "[350 rows x 24 columns]> \n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\TimeG\\AppData\\Local\\Temp\\ipykernel_21860\\2401068125.py:34: FutureWarning: Setting an item of incompatible dtype is deprecated and will raise an error in a future version of pandas. Value '209596.2525537634408602150538' has dtype incompatible with int64, please explicitly cast to a compatible dtype first.\n",
      "  df.loc[i, 'VPT'] = df.loc[i - 1, 'VPT'] + (df.loc[i, 'volume'] * price_change)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "类型<class 'pandas.core.frame.DataFrame'>, 头 <bound method NDFrame.head of       close     high     low     open           timestamp      turnover  \\\n",
      "0    74.400   75.230  71.000   71.120 2023-08-30 12:00:00  15389461.000   \n",
      "1    74.890   75.504  73.540   74.550 2023-08-31 12:00:00  11062097.000   \n",
      "2    78.160   78.800  75.480   76.190 2023-09-01 12:00:00  18810984.000   \n",
      "3    67.340   77.030  66.800   77.030 2023-09-05 12:00:00  33427685.000   \n",
      "4    69.230   69.810  67.350   67.530 2023-09-06 12:00:00  16187801.000   \n",
      "..      ...      ...     ...      ...                 ...           ...   \n",
      "345  94.840   99.685  93.735   99.580 2025-01-15 13:00:00  75922582.000   \n",
      "346  97.030   97.390  91.430   93.690 2025-01-16 13:00:00  32306622.000   \n",
      "347  97.990  101.980  97.040  100.350 2025-01-17 13:00:00  46455061.000   \n",
      "348  97.820  105.240  97.350  100.050 2025-01-21 13:00:00  59548627.000   \n",
      "349  99.300   99.705  96.530   97.380 2025-01-22 13:00:00  38012757.000   \n",
      "\n",
      "     volume                 close_pct_change                 high_pct_change  \\\n",
      "0    208620                              NaN                             NaN   \n",
      "1    148231    0.658602150537634408602150500   0.364216403030705835437990200   \n",
      "2    242451    4.366404059286954199492589100   4.365331638058910786183513500   \n",
      "3    484615   -13.84339815762538382804503582  -2.246192893401015228426395940   \n",
      "4    236141    2.806652806652806652806652800  -9.372971569518369466441646110   \n",
      "..      ...                              ...                             ...   \n",
      "345  792335    7.577132486388384754990925600   12.80411904492474821772094600   \n",
      "346  340765    2.309152256431885280472374500  -2.302252094096403671565431110   \n",
      "347  469816    0.989384726373286612387921300   4.713009549235034397782113200   \n",
      "348  590761  -0.1734870905194407592611491000   3.196705236320847224946067900   \n",
      "349  388388    1.512983030055203434880392600  -5.259407069555302166476624860   \n",
      "\n",
      "                      low_pct_change  ... volume_ratio  cummax  drawdown  \\\n",
      "0                                NaN  ...          NaN     NaN       NaN   \n",
      "1      3.577464788732394366197183100  ...     0.710531     NaN       NaN   \n",
      "2      2.638020125101985314114767500  ...     1.635630     NaN       NaN   \n",
      "3     -11.49973502914679385267620562  ...     1.998816     NaN       NaN   \n",
      "4      0.823353293413173652694610800  ...     0.487275     NaN       NaN   \n",
      "..                               ...  ...          ...     ...       ...   \n",
      "345    10.74551039697542533081285440  ...     1.138974  108.12 -0.122826   \n",
      "346   -2.459060116285272310236304480  ...     0.430077  105.18 -0.077486   \n",
      "347    6.135841627474570709832658900  ...     1.378710   97.99  0.000000   \n",
      "348    0.319455894476504534212695800  ...     1.257431   97.99 -0.001735   \n",
      "349  -0.8423215202876219825372367700  ...     0.657437   99.30  0.000000   \n",
      "\n",
      "     max_drawdown  decline  consecutive_declines  max_consecutive_declines  \\\n",
      "0             NaN      NaN                   NaN                       NaN   \n",
      "1             NaN      NaN                   NaN                       NaN   \n",
      "2             NaN      NaN                   NaN                       NaN   \n",
      "3             NaN      NaN                   NaN                       NaN   \n",
      "4             NaN      NaN                   NaN                       NaN   \n",
      "..            ...      ...                   ...                       ...   \n",
      "345     -0.462225      0.0                   0.0                       8.0   \n",
      "346     -0.462225      0.0                   0.0                       8.0   \n",
      "347     -0.462225      0.0                   0.0                       8.0   \n",
      "348     -0.462225      1.0                   1.0                       8.0   \n",
      "349     -0.447343      0.0                   0.0                       2.0   \n",
      "\n",
      "     fear_index  greed_index  fear_greed_index  \n",
      "0           NaN          NaN               NaN  \n",
      "1           NaN          NaN               NaN  \n",
      "2           NaN          NaN               NaN  \n",
      "3           NaN          NaN               NaN  \n",
      "4           NaN          NaN               NaN  \n",
      "..          ...          ...               ...  \n",
      "345   -3.697803     4.697803         -0.787135  \n",
      "346   -3.697803     4.697803         -0.787135  \n",
      "347   -3.697803     4.697803         -0.787135  \n",
      "348   -3.697803     4.697803         -0.787135  \n",
      "349   -0.894687     1.894687         -0.472208  \n",
      "\n",
      "[350 rows x 24 columns]> \n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\TimeG\\AppData\\Local\\Temp\\ipykernel_21860\\2401068125.py:34: FutureWarning: Setting an item of incompatible dtype is deprecated and will raise an error in a future version of pandas. Value '17780518.74619598295800365186' has dtype incompatible with int64, please explicitly cast to a compatible dtype first.\n",
      "  df.loc[i, 'VPT'] = df.loc[i - 1, 'VPT'] + (df.loc[i, 'volume'] * price_change)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "类型<class 'pandas.core.frame.DataFrame'>, 头 <bound method NDFrame.head of       close    high     low    open           timestamp        turnover  \\\n",
      "0    16.430  16.760  15.800  16.160 2023-08-30 12:00:00   288992704.000   \n",
      "1    16.520  16.800  16.230  16.340 2023-08-31 12:00:00   209734850.000   \n",
      "2    15.260  16.600  15.020  16.440 2023-09-01 12:00:00   289691842.000   \n",
      "3    16.330  16.470  15.230  15.230 2023-09-05 12:00:00   245606106.000   \n",
      "4    15.900  16.220  15.235  16.200 2023-09-06 12:00:00   250823518.000   \n",
      "..      ...     ...     ...     ...                 ...             ...   \n",
      "345  30.220  30.457  27.290  27.840 2025-01-15 13:00:00  2012160270.000   \n",
      "346  28.190  29.600  27.560  29.560 2025-01-16 13:00:00  1732544441.000   \n",
      "347  29.910  31.690  28.990  29.260 2025-01-17 13:00:00  2168431963.000   \n",
      "348  29.530  30.800  27.075  30.770 2025-01-21 13:00:00  2150094573.000   \n",
      "349  28.300  30.080  28.220  28.550 2025-01-22 13:00:00  1362134352.000   \n",
      "\n",
      "       volume                close_pct_change  \\\n",
      "0    17710889                             NaN   \n",
      "1    12711297   0.547778454047474132684114400   \n",
      "2    18584360  -7.627118644067796610169491530   \n",
      "3    15337018   7.011795543905635648754914800   \n",
      "4    15992042  -2.633190447030006123698714020   \n",
      "..        ...                             ...   \n",
      "345  69815570   15.78544061302681992337164750   \n",
      "346  60853398  -6.717405691594970218398411650   \n",
      "347  71306525   6.101454416459737495565803500   \n",
      "348  75056980  -1.270478100969575392845202270   \n",
      "349  47021646  -4.165255672197764984761259740   \n",
      "\n",
      "                     high_pct_change                  low_pct_change  ...  \\\n",
      "0                                NaN                             NaN  ...   \n",
      "1      0.238663484486873508353222000   2.721518987341772151898734200  ...   \n",
      "2     -1.190476190476190476190476190  -7.455329636475662353666050520  ...   \n",
      "3    -0.7831325301204819277108433700   1.398135818908122503328894800  ...   \n",
      "4     -1.517911353976927747419550700   0.032829940906106369008535800  ...   \n",
      "..                               ...                             ...  ...   \n",
      "345    2.930043933761405880364988200   5.652342237708091366627952000  ...   \n",
      "346   -2.813803066618511343861838000   0.989373396848662513741297200  ...   \n",
      "347    7.060810810810810810810810800   5.188679245283018867924528300  ...   \n",
      "348   -2.808456926475228778794572420  -6.605726112452569851672990690  ...   \n",
      "349   -2.337662337662337662337662340   4.228993536472760849492151400  ...   \n",
      "\n",
      "    volume_ratio cummax  drawdown  max_drawdown  decline  \\\n",
      "0            NaN    NaN       NaN           NaN      NaN   \n",
      "1       0.717711    NaN       NaN           NaN      NaN   \n",
      "2       1.462035    NaN       NaN           NaN      NaN   \n",
      "3       0.825265    NaN       NaN           NaN      NaN   \n",
      "4       1.042709    NaN       NaN           NaN      NaN   \n",
      "..           ...    ...       ...           ...      ...   \n",
      "345     0.844226  40.09 -0.246196     -0.396608      0.0   \n",
      "346     0.871631  40.09 -0.296832     -0.396608      1.0   \n",
      "347     1.171776  36.42 -0.178748     -0.396608      0.0   \n",
      "348     1.052596  36.42 -0.189182     -0.396608      1.0   \n",
      "349     0.626479  36.42 -0.222954     -0.396608      1.0   \n",
      "\n",
      "     consecutive_declines  max_consecutive_declines  fear_index  greed_index  \\\n",
      "0                     NaN                       NaN         NaN          NaN   \n",
      "1                     NaN                       NaN         NaN          NaN   \n",
      "2                     NaN                       NaN         NaN          NaN   \n",
      "3                     NaN                       NaN         NaN          NaN   \n",
      "4                     NaN                       NaN         NaN          NaN   \n",
      "..                    ...                       ...         ...          ...   \n",
      "345                   0.0                       5.0   -1.983038     2.983038   \n",
      "346                   1.0                       5.0   -1.983038     2.983038   \n",
      "347                   0.0                       5.0   -1.983038     2.983038   \n",
      "348                   1.0                       5.0   -1.983038     2.983038   \n",
      "349                   2.0                       5.0   -1.983038     2.983038   \n",
      "\n",
      "     fear_greed_index  \n",
      "0                 NaN  \n",
      "1                 NaN  \n",
      "2                 NaN  \n",
      "3                 NaN  \n",
      "4                 NaN  \n",
      "..                ...  \n",
      "345         -0.664771  \n",
      "346         -0.664771  \n",
      "347         -0.664771  \n",
      "348         -0.664771  \n",
      "349         -0.664771  \n",
      "\n",
      "[350 rows x 24 columns]> \n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\TimeG\\AppData\\Local\\Temp\\ipykernel_21860\\2401068125.py:34: FutureWarning: Setting an item of incompatible dtype is deprecated and will raise an error in a future version of pandas. Value '111540.8869346733668341708543' has dtype incompatible with int64, please explicitly cast to a compatible dtype first.\n",
      "  df.loc[i, 'VPT'] = df.loc[i - 1, 'VPT'] + (df.loc[i, 'volume'] * price_change)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "类型<class 'pandas.core.frame.DataFrame'>, 头 <bound method NDFrame.head of       close    high     low    open           timestamp      turnover  volume  \\\n",
      "0    31.840  31.950  31.250  31.450 2023-08-30 12:00:00   3516821.000  111204   \n",
      "1    31.920  32.299  31.800  31.870 2023-08-31 12:00:00   4298647.000  134081   \n",
      "2    31.730  32.330  31.460  32.330 2023-09-01 12:00:00   1950652.000   61338   \n",
      "3    31.770  31.970  31.400  31.680 2023-09-05 12:00:00   1809600.000   57002   \n",
      "4    31.300  31.997  30.990  31.890 2023-09-06 12:00:00   2528013.000   80444   \n",
      "..      ...     ...     ...     ...                 ...           ...     ...   \n",
      "345  48.470  48.830  46.692  47.250 2025-01-15 13:00:00  21264978.000  443421   \n",
      "346  47.120  48.390  47.070  47.800 2025-01-16 13:00:00  17736825.000  373319   \n",
      "347  48.550  49.160  47.470  48.840 2025-01-17 13:00:00  17317017.000  358258   \n",
      "348  49.600  51.660  49.480  50.140 2025-01-21 13:00:00  47856780.000  952679   \n",
      "349  49.680  50.750  49.300  50.005 2025-01-22 13:00:00  22486357.000  449462   \n",
      "\n",
      "                    close_pct_change                  high_pct_change  \\\n",
      "0                                NaN                              NaN   \n",
      "1      0.251256281407035175879397000    1.092331768388106416275430400   \n",
      "2    -0.5952380952380952380952381000    0.095978203659556023406297400   \n",
      "3      0.126063662149385439647021700   -1.113516857407980204144757190   \n",
      "4     -1.479383065785332074283915640    0.084454175789802940256490500   \n",
      "..                               ...                              ...   \n",
      "345    6.200701139351446099912357600    4.449197860962566844919786100   \n",
      "346   -2.785227976067670724159273780  -0.9010853983207044849477780100   \n",
      "347    3.034804753820033955857385400    1.591237859061789625955776000   \n",
      "348    2.162718846549948506694129800    5.085435313262815296989422300   \n",
      "349    0.161290322580645161290322600   -1.761517615176151761517615180   \n",
      "\n",
      "                      low_pct_change  ... volume_ratio cummax  drawdown  \\\n",
      "0                                NaN  ...          NaN    NaN       NaN   \n",
      "1                             1.7600  ...     1.205721    NaN       NaN   \n",
      "2     -1.069182389937106918238993710  ...     0.457470    NaN       NaN   \n",
      "3    -0.1907183725365543547361729200  ...     0.929310    NaN       NaN   \n",
      "4     -1.305732484076433121019108280  ...     1.411249    NaN       NaN   \n",
      "..                               ...  ...          ...    ...       ...   \n",
      "345                           3.7600  ...     1.462851  50.06 -0.031762   \n",
      "346    0.809560524286815728604471900  ...     0.841906  49.35 -0.045187   \n",
      "347    0.849798172933928192054387100  ...     0.959656  49.31 -0.015413   \n",
      "348    4.234253212555298082999789300  ...     2.659198  49.60  0.000000   \n",
      "349  -0.3637833468067906224737267600  ...     0.471787  49.68  0.000000   \n",
      "\n",
      "     max_drawdown  decline  consecutive_declines  max_consecutive_declines  \\\n",
      "0             NaN      NaN                   NaN                       NaN   \n",
      "1             NaN      NaN                   NaN                       NaN   \n",
      "2             NaN      NaN                   NaN                       NaN   \n",
      "3             NaN      NaN                   NaN                       NaN   \n",
      "4             NaN      NaN                   NaN                       NaN   \n",
      "..            ...      ...                   ...                       ...   \n",
      "345     -0.088294      0.0                   0.0                       5.0   \n",
      "346     -0.088294      1.0                   1.0                       5.0   \n",
      "347     -0.088294      0.0                   0.0                       5.0   \n",
      "348     -0.088294      0.0                   0.0                       5.0   \n",
      "349     -0.088294      0.0                   0.0                       5.0   \n",
      "\n",
      "     fear_index  greed_index  fear_greed_index  \n",
      "0           NaN          NaN               NaN  \n",
      "1           NaN          NaN               NaN  \n",
      "2           NaN          NaN               NaN  \n",
      "3           NaN          NaN               NaN  \n",
      "4           NaN          NaN               NaN  \n",
      "..          ...          ...               ...  \n",
      "345    -0.44147      1.44147         -0.306264  \n",
      "346    -0.44147      1.44147         -0.306264  \n",
      "347    -0.44147      1.44147         -0.306264  \n",
      "348    -0.44147      1.44147         -0.306264  \n",
      "349    -0.44147      1.44147         -0.306264  \n",
      "\n",
      "[350 rows x 24 columns]> \n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\TimeG\\AppData\\Local\\Temp\\ipykernel_21860\\2401068125.py:34: FutureWarning: Setting an item of incompatible dtype is deprecated and will raise an error in a future version of pandas. Value '714127.3850855745721271393643' has dtype incompatible with int64, please explicitly cast to a compatible dtype first.\n",
      "  df.loc[i, 'VPT'] = df.loc[i - 1, 'VPT'] + (df.loc[i, 'volume'] * price_change)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "类型<class 'pandas.core.frame.DataFrame'>, 头 <bound method NDFrame.head of        close     high      low     open           timestamp       turnover  \\\n",
      "0     65.440   67.440   64.693   66.650 2023-08-30 12:00:00   46400397.000   \n",
      "1     66.180   67.504   64.750   65.550 2023-08-31 12:00:00   55312742.000   \n",
      "2     71.020   71.850   67.970   68.140 2023-09-01 12:00:00   79779881.000   \n",
      "3     66.250   70.510   66.250   69.700 2023-09-05 12:00:00   75138740.000   \n",
      "4     61.490   67.280   60.542   65.750 2023-09-06 12:00:00   91617526.000   \n",
      "..       ...      ...      ...      ...                 ...            ...   \n",
      "345  121.190  125.856  117.660  123.960 2025-01-15 13:00:00  161168681.000   \n",
      "346  117.940  120.170  114.820  118.550 2025-01-16 13:00:00  104868519.000   \n",
      "347  123.240  124.000  118.750  120.000 2025-01-17 13:00:00   98254726.000   \n",
      "348  127.520  129.940  124.580  126.000 2025-01-21 13:00:00  100176711.000   \n",
      "349  123.120  126.680  120.900  126.490 2025-01-22 13:00:00   78173183.000   \n",
      "\n",
      "      volume                close_pct_change                 high_pct_change  \\\n",
      "0     704706                             NaN                             NaN   \n",
      "1     833156   1.130806845965770171149144300   0.094899169632265717674970300   \n",
      "2    1135369   7.313387730432154729525536400   6.438136999288931026309552000   \n",
      "3    1106719  -6.716417910447761194029850750  -1.864996520528879610299234520   \n",
      "4    1458656  -7.184905660377358490566037740  -4.580910509147638632818039990   \n",
      "..       ...                             ...                             ...   \n",
      "345  1324656   7.371312128997962257464339500   11.25884016973125884016973130   \n",
      "346   893834  -2.681739417443683472233682650  -4.517861683193490973811339940   \n",
      "347   807253   4.493810412073935899609971200   3.187151535324956311891487100   \n",
      "348   785251   3.472898409607270366764037700   4.790322580645161290322580600   \n",
      "349   632788  -3.450439146800501882057716440  -2.508850238571648453132214870   \n",
      "\n",
      "                     low_pct_change  ... volume_ratio  cummax  drawdown  \\\n",
      "0                               NaN  ...          NaN     NaN       NaN   \n",
      "1     0.088108450682454052215850200  ...     1.182275     NaN       NaN   \n",
      "2     4.972972972972972972972973000  ...     1.362733     NaN       NaN   \n",
      "3    -2.530528174194497572458437550  ...     0.974766     NaN       NaN   \n",
      "4    -8.615849056603773584905660380  ...     1.318000     NaN       NaN   \n",
      "..                              ...  ...          ...     ...       ...   \n",
      "345   11.97183098591549295774647890  ...     1.345577  137.81 -0.120601   \n",
      "346  -2.413734489206187319394866560  ...     0.674767  128.25 -0.080390   \n",
      "347   3.422748650060964988677930700  ...     0.903135  123.24  0.000000   \n",
      "348   4.909473684210526315789473700  ...     0.972745  127.52  0.000000   \n",
      "349  -2.953925188633809600256863060  ...     0.805842  127.52 -0.034504   \n",
      "\n",
      "     max_drawdown  decline  consecutive_declines  max_consecutive_declines  \\\n",
      "0             NaN      NaN                   NaN                       NaN   \n",
      "1             NaN      NaN                   NaN                       NaN   \n",
      "2             NaN      NaN                   NaN                       NaN   \n",
      "3             NaN      NaN                   NaN                       NaN   \n",
      "4             NaN      NaN                   NaN                       NaN   \n",
      "..            ...      ...                   ...                       ...   \n",
      "345     -0.357890      0.0                   0.0                       4.0   \n",
      "346     -0.357890      1.0                   1.0                       4.0   \n",
      "347     -0.357890      0.0                   0.0                       4.0   \n",
      "348     -0.357890      0.0                   0.0                       4.0   \n",
      "349     -0.327595      1.0                   1.0                       4.0   \n",
      "\n",
      "     fear_index  greed_index  fear_greed_index  \n",
      "0           NaN          NaN               NaN  \n",
      "1           NaN          NaN               NaN  \n",
      "2           NaN          NaN               NaN  \n",
      "3           NaN          NaN               NaN  \n",
      "4           NaN          NaN               NaN  \n",
      "..          ...          ...               ...  \n",
      "345   -1.431561     2.431561         -0.588742  \n",
      "346   -1.431561     2.431561         -0.588742  \n",
      "347   -1.431561     2.431561         -0.588742  \n",
      "348   -1.431561     2.431561         -0.588742  \n",
      "349   -1.310378     2.310378         -0.567170  \n",
      "\n",
      "[350 rows x 24 columns]> \n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\TimeG\\AppData\\Local\\Temp\\ipykernel_21860\\2401068125.py:34: FutureWarning: Setting an item of incompatible dtype is deprecated and will raise an error in a future version of pandas. Value '517037.9145773907821648401141' has dtype incompatible with int64, please explicitly cast to a compatible dtype first.\n",
      "  df.loc[i, 'VPT'] = df.loc[i - 1, 'VPT'] + (df.loc[i, 'volume'] * price_change)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "类型<class 'pandas.core.frame.DataFrame'>, 头 <bound method NDFrame.head of        close     high      low     open           timestamp       turnover  \\\n",
      "0     66.610   67.640   66.120   66.500 2023-08-30 12:00:00   34882817.000   \n",
      "1     65.820   67.020   65.490   66.950 2023-08-31 12:00:00   30071349.000   \n",
      "2     67.320   67.970   66.700   66.870 2023-09-01 12:00:00   41636384.000   \n",
      "3     65.380   67.930   65.330   67.100 2023-09-05 12:00:00   32800559.000   \n",
      "4     65.080   65.590   63.754   64.820 2023-09-06 12:00:00   31895589.000   \n",
      "..       ...      ...      ...      ...                 ...            ...   \n",
      "345  160.670  161.650  155.960  158.610 2025-01-15 13:00:00  215973507.000   \n",
      "346  163.300  163.900  160.110  160.300 2025-01-16 13:00:00  115273856.000   \n",
      "347  167.410  168.250  162.500  164.750 2025-01-17 13:00:00  163032882.000   \n",
      "348  171.550  172.180  169.000  169.160 2025-01-21 13:00:00  120020481.000   \n",
      "349  169.110  171.630  167.137  171.230 2025-01-22 13:00:00  113811190.000   \n",
      "\n",
      "      volume                 close_pct_change  \\\n",
      "0     522422                              NaN   \n",
      "1     453967   -1.186008106890857228644347700   \n",
      "2     618459    2.278942570647219690063810400   \n",
      "3     495399   -2.881758764111705288175876410   \n",
      "4     492740  -0.4588559192413582135209544200   \n",
      "..       ...                              ...   \n",
      "345  1356121    7.839452312235720518155580900   \n",
      "346   711519    1.636895500093359058940685900   \n",
      "347   980194    2.516840171463563992651561500   \n",
      "348   702541    2.472970551341019055014634700   \n",
      "349   673874   -1.422325852521130865636840570   \n",
      "\n",
      "                     high_pct_change                   low_pct_change  ...  \\\n",
      "0                                NaN                              NaN  ...   \n",
      "1    -0.9166173861620342992312241300  -0.9528130671506352087114337600  ...   \n",
      "2      1.417487317218740674425544600    1.847610322186593373034051000  ...   \n",
      "3    -0.0588494924231278505222892500   -2.053973013493253373313343330  ...   \n",
      "4     -3.444722508464595907551891650   -2.412367977958059084647175880  ...   \n",
      "..                               ...                              ...  ...   \n",
      "345    8.206707276256777562085815700    7.960681157413816973556693900  ...   \n",
      "346    1.391896071759975255180946500    2.660938702231341369581944100  ...   \n",
      "347    2.654057352043929225137278800    1.492723752420211104865405000  ...   \n",
      "348    2.335809806835066864784546800                             4.00  ...   \n",
      "349  -0.3194331513532349866418864000   -1.102366863905325443786982250  ...   \n",
      "\n",
      "    volume_ratio  cummax  drawdown  max_drawdown  decline  \\\n",
      "0            NaN     NaN       NaN           NaN      NaN   \n",
      "1       0.868966     NaN       NaN           NaN      NaN   \n",
      "2       1.362344     NaN       NaN           NaN      NaN   \n",
      "3       0.801022     NaN       NaN           NaN      NaN   \n",
      "4       0.994633     NaN       NaN           NaN      NaN   \n",
      "..           ...     ...       ...           ...      ...   \n",
      "345     1.572161  161.64 -0.006001     -0.208462      0.0   \n",
      "346     0.524672  163.30  0.000000     -0.208462      0.0   \n",
      "347     1.377608  167.41  0.000000     -0.208462      0.0   \n",
      "348     0.716737  171.55  0.000000     -0.202033      0.0   \n",
      "349     0.959195  171.55 -0.014223     -0.168846      1.0   \n",
      "\n",
      "     consecutive_declines  max_consecutive_declines  fear_index  greed_index  \\\n",
      "0                     NaN                       NaN         NaN          NaN   \n",
      "1                     NaN                       NaN         NaN          NaN   \n",
      "2                     NaN                       NaN         NaN          NaN   \n",
      "3                     NaN                       NaN         NaN          NaN   \n",
      "4                     NaN                       NaN         NaN          NaN   \n",
      "..                    ...                       ...         ...          ...   \n",
      "345                   0.0                       2.0   -0.416923     1.416923   \n",
      "346                   0.0                       2.0   -0.416923     1.416923   \n",
      "347                   0.0                       2.0   -0.416923     1.416923   \n",
      "348                   0.0                       2.0   -0.404066     1.404066   \n",
      "349                   1.0                       2.0   -0.337692     1.337692   \n",
      "\n",
      "     fear_greed_index  \n",
      "0                 NaN  \n",
      "1                 NaN  \n",
      "2                 NaN  \n",
      "3                 NaN  \n",
      "4                 NaN  \n",
      "..                ...  \n",
      "345         -0.294245  \n",
      "346         -0.294245  \n",
      "347         -0.294245  \n",
      "348         -0.287783  \n",
      "349         -0.252444  \n",
      "\n",
      "[350 rows x 24 columns]> \n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\TimeG\\AppData\\Local\\Temp\\ipykernel_21860\\2401068125.py:34: FutureWarning: Setting an item of incompatible dtype is deprecated and will raise an error in a future version of pandas. Value '19736434.20159680638722554890' has dtype incompatible with int64, please explicitly cast to a compatible dtype first.\n",
      "  df.loc[i, 'VPT'] = df.loc[i - 1, 'VPT'] + (df.loc[i, 'volume'] * price_change)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "类型<class 'pandas.core.frame.DataFrame'>, 头 <bound method NDFrame.head of       close    high     low    open           timestamp       turnover  \\\n",
      "0     5.010   5.050   4.890   4.940 2023-08-30 12:00:00  100084151.000   \n",
      "1     4.930   5.110   4.920   5.040 2023-08-31 12:00:00   97715073.000   \n",
      "2     5.260   5.290   5.020   5.040 2023-09-01 12:00:00  145635556.000   \n",
      "3     4.990   5.305   4.960   5.220 2023-09-05 12:00:00  124721575.000   \n",
      "4     5.000   5.100   4.840   5.010 2023-09-06 12:00:00   93937823.000   \n",
      "..      ...     ...     ...     ...                 ...            ...   \n",
      "345  84.320  87.310  81.730  84.970 2025-01-15 13:00:00  229268267.000   \n",
      "346  82.430  85.069  80.900  84.890 2025-01-16 13:00:00  110485003.000   \n",
      "347  82.600  85.103  82.320  84.750 2025-01-17 13:00:00   92367060.000   \n",
      "348  89.660  90.090  84.502  84.502 2025-01-21 13:00:00  120983130.000   \n",
      "349  91.830  92.990  89.083  89.990 2025-01-22 13:00:00  122557741.000   \n",
      "\n",
      "       volume                close_pct_change                 high_pct_change  \\\n",
      "0    20047883                             NaN                             NaN   \n",
      "1    19504481  -1.596806387225548902195608780   1.188118811881188118811881200   \n",
      "2    27986398   6.693711967545638945233265700   3.522504892367906066536203500   \n",
      "3    24469954  -5.133079847908745247148288970   0.283553875236294896030245700   \n",
      "4    18980675   0.200400801603206412825651300  -3.864278982092365692742695570   \n",
      "..        ...                             ...                             ...   \n",
      "345   2721055   6.316983986886899508258731600  -1.366922729326705829191143240   \n",
      "346   1336710  -2.241461100569259962049335860  -2.566716298247623410834955900   \n",
      "347   1103502   0.206235593837195195923814100   0.039967555748862687935675700   \n",
      "348   1380949   8.547215496368038740920096900   5.859957933327849782028835600   \n",
      "349   1347809   2.420254293999553870176221300   3.219003219003219003219003200   \n",
      "\n",
      "                     low_pct_change  ... volume_ratio  cummax  drawdown  \\\n",
      "0                               NaN  ...          NaN     NaN       NaN   \n",
      "1     0.613496932515337423312883400  ...     0.972895     NaN       NaN   \n",
      "2     2.032520325203252032520325200  ...     1.434870     NaN       NaN   \n",
      "3    -1.195219123505976095617529880  ...     0.874352     NaN       NaN   \n",
      "4    -2.419354838709677419354838710  ...     0.775673     NaN       NaN   \n",
      "..                              ...  ...          ...     ...       ...   \n",
      "345   4.167728778995666581697680300  ...     1.127744  106.79 -0.210413   \n",
      "346  -1.015538969778539092132631840  ...     0.491247  105.56 -0.219117   \n",
      "347   1.755253399258343634116192800  ...     0.825536   98.29 -0.159630   \n",
      "348   2.650631681243926141885325600  ...     1.251424   98.29 -0.087801   \n",
      "349   5.421173463349979882132967300  ...     0.976002   98.29 -0.065724   \n",
      "\n",
      "     max_drawdown  decline  consecutive_declines  max_consecutive_declines  \\\n",
      "0             NaN      NaN                   NaN                       NaN   \n",
      "1             NaN      NaN                   NaN                       NaN   \n",
      "2             NaN      NaN                   NaN                       NaN   \n",
      "3             NaN      NaN                   NaN                       NaN   \n",
      "4             NaN      NaN                   NaN                       NaN   \n",
      "..            ...      ...                   ...                       ...   \n",
      "345     -0.291877      0.0                   0.0                       4.0   \n",
      "346     -0.291877      1.0                   1.0                       4.0   \n",
      "347     -0.291877      0.0                   0.0                       4.0   \n",
      "348     -0.291877      0.0                   0.0                       4.0   \n",
      "349     -0.278221      0.0                   0.0                       4.0   \n",
      "\n",
      "     fear_index  greed_index  fear_greed_index  \n",
      "0           NaN          NaN               NaN  \n",
      "1           NaN          NaN               NaN  \n",
      "2           NaN          NaN               NaN  \n",
      "3           NaN          NaN               NaN  \n",
      "4           NaN          NaN               NaN  \n",
      "..          ...          ...               ...  \n",
      "345   -1.167508     2.167508         -0.538641  \n",
      "346   -1.167508     2.167508         -0.538641  \n",
      "347   -1.167508     2.167508         -0.538641  \n",
      "348   -1.167508     2.167508         -0.538641  \n",
      "349   -1.112884     2.112884         -0.526713  \n",
      "\n",
      "[350 rows x 24 columns]> \n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\TimeG\\AppData\\Local\\Temp\\ipykernel_21860\\2401068125.py:34: FutureWarning: Setting an item of incompatible dtype is deprecated and will raise an error in a future version of pandas. Value '240657.2175629008386778490380' has dtype incompatible with int64, please explicitly cast to a compatible dtype first.\n",
      "  df.loc[i, 'VPT'] = df.loc[i - 1, 'VPT'] + (df.loc[i, 'volume'] * price_change)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "类型<class 'pandas.core.frame.DataFrame'>, 头 <bound method NDFrame.head of       close    high     low    open           timestamp      turnover  volume  \\\n",
      "0    20.270  20.540  19.740  19.780 2023-08-30 12:00:00   4932504.000  243741   \n",
      "1    19.940  20.570  19.930  20.350 2023-08-31 12:00:00   3849803.000  189419   \n",
      "2    20.120  20.380  19.910  20.230 2023-09-01 12:00:00   1760634.000   87609   \n",
      "3    19.250  20.020  19.230  19.990 2023-09-05 12:00:00   2560691.000  131456   \n",
      "4    18.500  19.330  18.360  19.140 2023-09-06 12:00:00   4775283.000  255429   \n",
      "..      ...     ...     ...     ...                 ...           ...     ...   \n",
      "345  29.440  30.120  29.150  30.000 2025-01-15 13:00:00   6430683.000  216528   \n",
      "346  30.250  30.400  29.610  29.610 2025-01-16 13:00:00   6934469.000  230109   \n",
      "347  30.970  31.300  30.350  30.630 2025-01-17 13:00:00   8561879.000  276652   \n",
      "348  33.990  34.230  32.160  32.180 2025-01-21 13:00:00  14453338.000  431293   \n",
      "349  33.400  34.066  32.810  34.000 2025-01-22 13:00:00   9308795.000  279378   \n",
      "\n",
      "                   close_pct_change                  high_pct_change  \\\n",
      "0                               NaN                              NaN   \n",
      "1    -1.628021706956092747903305380    0.146056475170399221032132400   \n",
      "2     0.902708124373119358074222700  -0.9236752552260573650947982500   \n",
      "3    -4.324055666003976143141153080   -1.766437684003925417075564280   \n",
      "4    -3.896103896103896103896103900   -3.446553446553446553446553450   \n",
      "..                              ...                              ...   \n",
      "345   1.727712508638562543192812700    3.754736479503961419221495000   \n",
      "346   2.751358695652173913043478300    0.929614873837981407702523200   \n",
      "347   2.380165289256198347107438000    2.960526315789473684210526300   \n",
      "348   9.751372295770100096867936700    9.361022364217252396166134200   \n",
      "349  -1.735804648426007649308620180  -0.4791118901548349401110137300   \n",
      "\n",
      "                      low_pct_change  ... volume_ratio cummax  drawdown  \\\n",
      "0                                NaN  ...          NaN    NaN       NaN   \n",
      "1      0.962512664640324214792299900  ...     0.777132    NaN       NaN   \n",
      "2    -0.1003512293025589563472152500  ...     0.462514    NaN       NaN   \n",
      "3     -3.415369161225514816675037670  ...     1.500485    NaN       NaN   \n",
      "4     -4.524180967238689547581903280  ...     1.943076    NaN       NaN   \n",
      "..                               ...  ...          ...    ...       ...   \n",
      "345    4.405444126074498567335243600  ...     0.993425  30.22 -0.025811   \n",
      "346    1.578044596912521440823327600  ...     1.062722  30.25  0.000000   \n",
      "347    2.499155690645052347180006800  ...     1.202265  30.97  0.000000   \n",
      "348    5.963756177924217462932454700  ...     1.558973  33.99  0.000000   \n",
      "349    2.021144278606965174129353200  ...     0.647768  33.99 -0.017358   \n",
      "\n",
      "     max_drawdown  decline  consecutive_declines  max_consecutive_declines  \\\n",
      "0             NaN      NaN                   NaN                       NaN   \n",
      "1             NaN      NaN                   NaN                       NaN   \n",
      "2             NaN      NaN                   NaN                       NaN   \n",
      "3             NaN      NaN                   NaN                       NaN   \n",
      "4             NaN      NaN                   NaN                       NaN   \n",
      "..            ...      ...                   ...                       ...   \n",
      "345     -0.310156      0.0                   0.0                       4.0   \n",
      "346     -0.310156      0.0                   0.0                       4.0   \n",
      "347     -0.310156      0.0                   0.0                       4.0   \n",
      "348     -0.291667      0.0                   0.0                       4.0   \n",
      "349     -0.284739      1.0                   1.0                       4.0   \n",
      "\n",
      "     fear_index  greed_index  fear_greed_index  \n",
      "0           NaN          NaN               NaN  \n",
      "1           NaN          NaN               NaN  \n",
      "2           NaN          NaN               NaN  \n",
      "3           NaN          NaN               NaN  \n",
      "4           NaN          NaN               NaN  \n",
      "..          ...          ...               ...  \n",
      "345   -1.240625     2.240625         -0.553696  \n",
      "346   -1.240625     2.240625         -0.553696  \n",
      "347   -1.240625     2.240625         -0.553696  \n",
      "348   -1.166667     2.166667         -0.538462  \n",
      "349   -1.138955     2.138955         -0.532482  \n",
      "\n",
      "[350 rows x 24 columns]> \n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\TimeG\\AppData\\Local\\Temp\\ipykernel_21860\\2401068125.py:34: FutureWarning: Setting an item of incompatible dtype is deprecated and will raise an error in a future version of pandas. Value '8495319.658026375625284220100' has dtype incompatible with int64, please explicitly cast to a compatible dtype first.\n",
      "  df.loc[i, 'VPT'] = df.loc[i - 1, 'VPT'] + (df.loc[i, 'volume'] * price_change)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "类型<class 'pandas.core.frame.DataFrame'>, 头 <bound method NDFrame.head of       close    high     low    open           timestamp       turnover  \\\n",
      "0    21.990  22.620  21.860  22.420 2023-08-30 12:00:00  193009581.000   \n",
      "1    21.500  21.968  21.390  21.900 2023-08-31 12:00:00  183299574.000   \n",
      "2    21.210  21.420  20.995  21.170 2023-09-01 12:00:00  207333238.000   \n",
      "3    21.350  21.640  21.025  21.300 2023-09-05 12:00:00  145177151.000   \n",
      "4    21.740  22.230  21.350  21.420 2023-09-06 12:00:00  169782062.000   \n",
      "..      ...     ...     ...     ...                 ...            ...   \n",
      "345  43.550  45.155  43.430  45.050 2025-01-15 13:00:00  372029110.000   \n",
      "346  43.620  43.910  43.113  43.430 2025-01-16 13:00:00  187447805.000   \n",
      "347  43.960  43.960  42.770  42.970 2025-01-17 13:00:00  243748366.000   \n",
      "348  42.110  43.400  41.980  43.030 2025-01-21 13:00:00  243586171.000   \n",
      "349  42.750  42.860  41.980  42.080 2025-01-22 13:00:00  281997094.000   \n",
      "\n",
      "      volume                close_pct_change                 high_pct_change  \\\n",
      "0    8683883                             NaN                             NaN   \n",
      "1    8462261  -2.228285584356525693497044110  -2.882404951370468611847922190   \n",
      "2    9775916  -1.348837209302325581395348840  -2.494537509104151493080844870   \n",
      "3    6815759   0.660066006600660066006600700   1.027077497665732959850606900   \n",
      "4    7800966   1.826697892271662763466042200   2.726432532347504621072088700   \n",
      "..       ...                             ...                             ...   \n",
      "345  8376192  -8.161113454238717840573597640  -7.959641255605381165919282510   \n",
      "346  4314198   0.160734787600459242250287000  -2.757169748643561067434392650   \n",
      "347  5609554   0.779458963778083447959651500   0.113869278068777043953541300   \n",
      "348  5739523  -4.208371246587807097361237490  -1.273885350318471337579617830   \n",
      "349  6643075   1.519829019235336024697221600  -1.244239631336405529953917050   \n",
      "\n",
      "                      low_pct_change  ... volume_ratio cummax  drawdown  \\\n",
      "0                                NaN  ...          NaN    NaN       NaN   \n",
      "1     -2.150045745654162854528819760  ...     0.974479    NaN       NaN   \n",
      "2     -1.846657316503038803179055630  ...     1.155237    NaN       NaN   \n",
      "3      0.142891164562991188378185300  ...     0.697199    NaN       NaN   \n",
      "4      1.545778834720570749108204500  ...     1.144548    NaN       NaN   \n",
      "..                               ...  ...          ...    ...       ...   \n",
      "345   -6.449250387730484232293641220  ...     1.777346  56.14 -0.224261   \n",
      "346  -0.7299102003223578171770665400  ...     0.515055  56.14 -0.223014   \n",
      "347  -0.7955836986523786328949504800  ...     1.300254  56.14 -0.216958   \n",
      "348   -1.847089081131634323123684830  ...     1.023169  56.14 -0.249911   \n",
      "349                                0  ...     1.157426  49.45 -0.135490   \n",
      "\n",
      "     max_drawdown  decline  consecutive_declines  max_consecutive_declines  \\\n",
      "0             NaN      NaN                   NaN                       NaN   \n",
      "1             NaN      NaN                   NaN                       NaN   \n",
      "2             NaN      NaN                   NaN                       NaN   \n",
      "3             NaN      NaN                   NaN                       NaN   \n",
      "4             NaN      NaN                   NaN                       NaN   \n",
      "..            ...      ...                   ...                       ...   \n",
      "345     -0.246883      1.0                   3.0                       3.0   \n",
      "346     -0.246883      0.0                   0.0                       3.0   \n",
      "347     -0.246883      0.0                   0.0                       3.0   \n",
      "348     -0.249911      1.0                   1.0                       3.0   \n",
      "349     -0.249911      0.0                   0.0                       3.0   \n",
      "\n",
      "     fear_index  greed_index  fear_greed_index  \n",
      "0           NaN          NaN               NaN  \n",
      "1           NaN          NaN               NaN  \n",
      "2           NaN          NaN               NaN  \n",
      "3           NaN          NaN               NaN  \n",
      "4           NaN          NaN               NaN  \n",
      "..          ...          ...               ...  \n",
      "345   -0.740648     1.740648         -0.425501  \n",
      "346   -0.740648     1.740648         -0.425501  \n",
      "347   -0.740648     1.740648         -0.425501  \n",
      "348   -0.749733     1.749733         -0.428484  \n",
      "349   -0.749733     1.749733         -0.428484  \n",
      "\n",
      "[350 rows x 24 columns]> \n",
      "      close    high     low    open           timestamp       turnover  \\\n",
      "0    21.990  22.620  21.860  22.420 2023-08-30 12:00:00  193009581.000   \n",
      "1    21.500  21.968  21.390  21.900 2023-08-31 12:00:00  183299574.000   \n",
      "2    21.210  21.420  20.995  21.170 2023-09-01 12:00:00  207333238.000   \n",
      "3    21.350  21.640  21.025  21.300 2023-09-05 12:00:00  145177151.000   \n",
      "4    21.740  22.230  21.350  21.420 2023-09-06 12:00:00  169782062.000   \n",
      "..      ...     ...     ...     ...                 ...            ...   \n",
      "345  43.550  45.155  43.430  45.050 2025-01-15 13:00:00  372029110.000   \n",
      "346  43.620  43.910  43.113  43.430 2025-01-16 13:00:00  187447805.000   \n",
      "347  43.960  43.960  42.770  42.970 2025-01-17 13:00:00  243748366.000   \n",
      "348  42.110  43.400  41.980  43.030 2025-01-21 13:00:00  243586171.000   \n",
      "349  42.750  42.860  41.980  42.080 2025-01-22 13:00:00  281997094.000   \n",
      "\n",
      "      volume                close_pct_change                 high_pct_change  \\\n",
      "0    8683883                             NaN                             NaN   \n",
      "1    8462261  -2.228285584356525693497044110  -2.882404951370468611847922190   \n",
      "2    9775916  -1.348837209302325581395348840  -2.494537509104151493080844870   \n",
      "3    6815759   0.660066006600660066006600700   1.027077497665732959850606900   \n",
      "4    7800966   1.826697892271662763466042200   2.726432532347504621072088700   \n",
      "..       ...                             ...                             ...   \n",
      "345  8376192  -8.161113454238717840573597640  -7.959641255605381165919282510   \n",
      "346  4314198   0.160734787600459242250287000  -2.757169748643561067434392650   \n",
      "347  5609554   0.779458963778083447959651500   0.113869278068777043953541300   \n",
      "348  5739523  -4.208371246587807097361237490  -1.273885350318471337579617830   \n",
      "349  6643075   1.519829019235336024697221600  -1.244239631336405529953917050   \n",
      "\n",
      "                      low_pct_change  ... volume_ratio cummax  drawdown  \\\n",
      "0                                NaN  ...          NaN    NaN       NaN   \n",
      "1     -2.150045745654162854528819760  ...     0.974479    NaN       NaN   \n",
      "2     -1.846657316503038803179055630  ...     1.155237    NaN       NaN   \n",
      "3      0.142891164562991188378185300  ...     0.697199    NaN       NaN   \n",
      "4      1.545778834720570749108204500  ...     1.144548    NaN       NaN   \n",
      "..                               ...  ...          ...    ...       ...   \n",
      "345   -6.449250387730484232293641220  ...     1.777346  56.14 -0.224261   \n",
      "346  -0.7299102003223578171770665400  ...     0.515055  56.14 -0.223014   \n",
      "347  -0.7955836986523786328949504800  ...     1.300254  56.14 -0.216958   \n",
      "348   -1.847089081131634323123684830  ...     1.023169  56.14 -0.249911   \n",
      "349                                0  ...     1.157426  49.45 -0.135490   \n",
      "\n",
      "     max_drawdown  decline  consecutive_declines  max_consecutive_declines  \\\n",
      "0             NaN      NaN                   NaN                       NaN   \n",
      "1             NaN      NaN                   NaN                       NaN   \n",
      "2             NaN      NaN                   NaN                       NaN   \n",
      "3             NaN      NaN                   NaN                       NaN   \n",
      "4             NaN      NaN                   NaN                       NaN   \n",
      "..            ...      ...                   ...                       ...   \n",
      "345     -0.246883      1.0                   3.0                       3.0   \n",
      "346     -0.246883      0.0                   0.0                       3.0   \n",
      "347     -0.246883      0.0                   0.0                       3.0   \n",
      "348     -0.249911      1.0                   1.0                       3.0   \n",
      "349     -0.249911      0.0                   0.0                       3.0   \n",
      "\n",
      "     fear_index  greed_index  fear_greed_index  \n",
      "0           NaN          NaN               NaN  \n",
      "1           NaN          NaN               NaN  \n",
      "2           NaN          NaN               NaN  \n",
      "3           NaN          NaN               NaN  \n",
      "4           NaN          NaN               NaN  \n",
      "..          ...          ...               ...  \n",
      "345   -0.740648     1.740648         -0.425501  \n",
      "346   -0.740648     1.740648         -0.425501  \n",
      "347   -0.740648     1.740648         -0.425501  \n",
      "348   -0.749733     1.749733         -0.428484  \n",
      "349   -0.749733     1.749733         -0.428484  \n",
      "\n",
      "[350 rows x 24 columns]\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\TimeG\\AppData\\Local\\Temp\\ipykernel_21860\\2401068125.py:34: FutureWarning: Setting an item of incompatible dtype is deprecated and will raise an error in a future version of pandas. Value '41838648.11226980841691874967' has dtype incompatible with int64, please explicitly cast to a compatible dtype first.\n",
      "  df.loc[i, 'VPT'] = df.loc[i - 1, 'VPT'] + (df.loc[i, 'volume'] * price_change)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "类型<class 'pandas.core.frame.DataFrame'>, 头 <bound method NDFrame.head of        close     high      low     open           timestamp         turnover  \\\n",
      "0    376.860  377.447  373.860  374.880 2023-08-30 12:00:00  15698854915.000   \n",
      "1    377.990  379.719  376.870  376.940 2023-08-31 12:00:00  13520658389.000   \n",
      "2    377.590  380.830  376.080  380.400 2023-09-01 12:00:00  15036748557.000   \n",
      "3    378.070  379.309  375.830  376.770 2023-09-05 12:00:00  12220354840.000   \n",
      "4    374.740  377.630  372.700  377.280 2023-09-06 12:00:00  16111982126.000   \n",
      "..       ...      ...      ...      ...                 ...              ...   \n",
      "345  516.700  517.850  511.460  513.030 2025-01-15 13:00:00  18008398913.000   \n",
      "346  513.080  519.060  512.950  518.980 2025-01-16 13:00:00  14556416619.000   \n",
      "347  521.740  524.073  513.109  522.850 2025-01-17 13:00:00  27009614707.000   \n",
      "348  524.800  525.970  520.060  524.480 2025-01-21 13:00:00  12376902045.000   \n",
      "349  531.510  533.820  529.260  529.570 2025-01-22 13:00:00  17840865535.000   \n",
      "\n",
      "       volume                 close_pct_change  \\\n",
      "0    41731511                              NaN   \n",
      "1    35730701    0.299846096693732420527516800   \n",
      "2    39801177  -0.1058229053678668747850472200   \n",
      "3    32344222    0.127122010646468391641727800   \n",
      "4    42998735  -0.8807892718279683656465733900   \n",
      "..        ...                              ...   \n",
      "345  34957554    2.300625643462421794567197300   \n",
      "346  28229037  -0.7005999612928198180762531400   \n",
      "347  51837941    1.687845949949325641225539900   \n",
      "348  23627971    0.586499022501629163951393400   \n",
      "349  33592988    1.278582317073170731707317100   \n",
      "\n",
      "                     high_pct_change                   low_pct_change  ...  \\\n",
      "0                                NaN                              NaN  ...   \n",
      "1      0.601938815250882905414535000    0.805114213876852297651527300  ...   \n",
      "2      0.292584779797692504193890700  -0.2096213548438453578156924100  ...   \n",
      "3    -0.3993908042958800514665336200  -0.0664752180387151669857477100  ...   \n",
      "4    -0.4426470239303575712677526800  -0.8328233509831572785567943000  ...   \n",
      "..                               ...                              ...  ...   \n",
      "345    1.508365104723074359753408300    1.967742578600051835164177900  ...   \n",
      "346    0.233658395288210871874094800    0.291322879599577679583936200  ...   \n",
      "347    0.965784302392786961044965900    0.030997173213763524710010700  ...   \n",
      "348    0.361972473300475315461777300    1.354682923121597945075997500  ...   \n",
      "349    1.492480559727741125919729300    1.769026650771064877129562000  ...   \n",
      "\n",
      "    volume_ratio  cummax  drawdown  max_drawdown  decline  \\\n",
      "0            NaN     NaN       NaN           NaN      NaN   \n",
      "1       0.856204     NaN       NaN           NaN      NaN   \n",
      "2       1.113921     NaN       NaN           NaN      NaN   \n",
      "3       0.812645     NaN       NaN           NaN      NaN   \n",
      "4       1.329410     NaN       NaN           NaN      NaN   \n",
      "..           ...     ...       ...           ...      ...   \n",
      "345     1.036171  538.17 -0.039894     -0.061486      0.0   \n",
      "346     0.807523  535.80 -0.042404     -0.061486      1.0   \n",
      "347     1.836334  529.96 -0.015511     -0.061486      0.0   \n",
      "348     0.455805  529.96 -0.009737     -0.061486      0.0   \n",
      "349     1.421747  531.51  0.000000     -0.061486      0.0   \n",
      "\n",
      "     consecutive_declines  max_consecutive_declines  fear_index  greed_index  \\\n",
      "0                     NaN                       NaN         NaN          NaN   \n",
      "1                     NaN                       NaN         NaN          NaN   \n",
      "2                     NaN                       NaN         NaN          NaN   \n",
      "3                     NaN                       NaN         NaN          NaN   \n",
      "4                     NaN                       NaN         NaN          NaN   \n",
      "..                    ...                       ...         ...          ...   \n",
      "345                   0.0                       5.0   -0.307431     1.307431   \n",
      "346                   1.0                       5.0   -0.307431     1.307431   \n",
      "347                   0.0                       5.0   -0.307431     1.307431   \n",
      "348                   0.0                       5.0   -0.307431     1.307431   \n",
      "349                   0.0                       5.0   -0.307431     1.307431   \n",
      "\n",
      "     fear_greed_index  \n",
      "0                 NaN  \n",
      "1                 NaN  \n",
      "2                 NaN  \n",
      "3                 NaN  \n",
      "4                 NaN  \n",
      "..                ...  \n",
      "345         -0.235141  \n",
      "346         -0.235141  \n",
      "347         -0.235141  \n",
      "348         -0.235141  \n",
      "349         -0.235141  \n",
      "\n",
      "[350 rows x 24 columns]> \n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\TimeG\\AppData\\Local\\Temp\\ipykernel_21860\\2401068125.py:34: FutureWarning: Setting an item of incompatible dtype is deprecated and will raise an error in a future version of pandas. Value '2779664.747395535203205495135' has dtype incompatible with int64, please explicitly cast to a compatible dtype first.\n",
      "  df.loc[i, 'VPT'] = df.loc[i - 1, 'VPT'] + (df.loc[i, 'volume'] * price_change)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "类型<class 'pandas.core.frame.DataFrame'>, 头 <bound method NDFrame.head of        close     high      low     open           timestamp        turnover  \\\n",
      "0    349.400  350.730  348.520  349.100 2023-08-30 12:00:00   975853437.000   \n",
      "1    347.810  351.280  347.740  350.920 2023-08-31 12:00:00  1013404745.000   \n",
      "2    348.980  350.360  347.750  349.930 2023-09-01 12:00:00   884251375.000   \n",
      "3    346.980  349.275  346.900  349.080 2023-09-05 12:00:00   663707536.000   \n",
      "4    345.000  346.510  343.460  346.450 2023-09-06 12:00:00   948817721.000   \n",
      "..       ...      ...      ...      ...                 ...             ...   \n",
      "345  432.240  433.280  430.500  431.560 2025-01-15 13:00:00  1753816866.000   \n",
      "346  431.560  432.910  430.760  432.090 2025-01-16 13:00:00  1093368235.000   \n",
      "347  434.720  436.390  433.970  434.540 2025-01-17 13:00:00  1205173080.000   \n",
      "348  440.100  440.430  436.310  436.350 2025-01-21 13:00:00   927646666.000   \n",
      "349  441.280  442.000  440.350  441.490 2025-01-22 13:00:00  1642957755.000   \n",
      "\n",
      "      volume                 close_pct_change  \\\n",
      "0    2792868                              NaN   \n",
      "1    2901394  -0.4550658271322266742987979400   \n",
      "2    2533213    0.336390558063310428107300000   \n",
      "3    1906879  -0.5730987449137486388904808300   \n",
      "4    2748394  -0.5706380771226007262666436100   \n",
      "..       ...                              ...   \n",
      "345  4059801    1.667646712924850052922497900   \n",
      "346  2532462  -0.1573200074032944660373866400   \n",
      "347  2771044    0.732227268514227453888219500   \n",
      "348  2113769    1.237578211262421788737578200   \n",
      "349  3724065    0.268120881617814133151556500   \n",
      "\n",
      "                     high_pct_change                   low_pct_change  ...  \\\n",
      "0                                NaN                              NaN  ...   \n",
      "1      0.156815784221480911242266100  -0.2238035119935728222196717500  ...   \n",
      "2    -0.2618993395581872010931450700    0.002875711738655317191004800  ...   \n",
      "3    -0.3096814704874985728964493700  -0.2444284687275341480948957600  ...   \n",
      "4    -0.7916398253525159258463961100  -0.9916402421447102911501873700  ...   \n",
      "..                               ...                              ...  ...   \n",
      "345    1.826044041268125308453385300    2.123117067963468153243980500  ...   \n",
      "346  -0.0853951255539143279172821300    0.060394889663182346109175400  ...   \n",
      "347    0.803862234644614354022776100    0.745194539882997492803417200  ...   \n",
      "348    0.925777400948692683150393000    0.539207779339585685646473300  ...   \n",
      "349    0.356469813591263083804463800    0.925947147670234466319818500  ...   \n",
      "\n",
      "    volume_ratio  cummax  drawdown  max_drawdown  decline  \\\n",
      "0            NaN     NaN       NaN           NaN      NaN   \n",
      "1       1.038858     NaN       NaN           NaN      NaN   \n",
      "2       0.873102     NaN       NaN           NaN      NaN   \n",
      "3       0.752751     NaN       NaN           NaN      NaN   \n",
      "4       1.441305     NaN       NaN           NaN      NaN   \n",
      "..           ...     ...       ...           ...      ...   \n",
      "345     1.535878  438.37 -0.013984     -0.060185      0.0   \n",
      "346     0.623790  435.57 -0.009206     -0.060185      1.0   \n",
      "347     1.094210  434.72  0.000000     -0.060185      0.0   \n",
      "348     0.762806  440.10  0.000000     -0.060185      0.0   \n",
      "349     1.761813  441.28  0.000000     -0.060185      0.0   \n",
      "\n",
      "     consecutive_declines  max_consecutive_declines  fear_index  greed_index  \\\n",
      "0                     NaN                       NaN         NaN          NaN   \n",
      "1                     NaN                       NaN         NaN          NaN   \n",
      "2                     NaN                       NaN         NaN          NaN   \n",
      "3                     NaN                       NaN         NaN          NaN   \n",
      "4                     NaN                       NaN         NaN          NaN   \n",
      "..                    ...                       ...         ...          ...   \n",
      "345                   0.0                      10.0   -0.601854     1.601854   \n",
      "346                   1.0                      10.0   -0.601854     1.601854   \n",
      "347                   0.0                      10.0   -0.601854     1.601854   \n",
      "348                   0.0                       4.0   -0.240742     1.240742   \n",
      "349                   0.0                       4.0   -0.240742     1.240742   \n",
      "\n",
      "     fear_greed_index  \n",
      "0                 NaN  \n",
      "1                 NaN  \n",
      "2                 NaN  \n",
      "3                 NaN  \n",
      "4                 NaN  \n",
      "..                ...  \n",
      "345         -0.375723  \n",
      "346         -0.375723  \n",
      "347         -0.375723  \n",
      "348         -0.194030  \n",
      "349         -0.194030  \n",
      "\n",
      "[350 rows x 24 columns]> \n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\TimeG\\AppData\\Local\\Temp\\ipykernel_21860\\2401068125.py:34: FutureWarning: Setting an item of incompatible dtype is deprecated and will raise an error in a future version of pandas. Value '68957204.02769339925943992373' has dtype incompatible with int64, please explicitly cast to a compatible dtype first.\n",
      "  df.loc[i, 'VPT'] = df.loc[i - 1, 'VPT'] + (df.loc[i, 'volume'] * price_change)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "类型<class 'pandas.core.frame.DataFrame'>, 头 <bound method NDFrame.head of        close     high      low     open           timestamp         turnover  \\\n",
      "0    451.010  451.670  448.780  449.510 2023-08-30 12:00:00  31116827645.000   \n",
      "1    450.350  452.830  450.160  451.650 2023-08-31 12:00:00  29826406723.000   \n",
      "2    451.190  453.670  449.680  453.170 2023-09-01 12:00:00  26598631360.000   \n",
      "3    449.240  451.060  449.170  450.730 2023-09-05 12:00:00  24827074534.000   \n",
      "4    446.220  448.510  443.810  448.400 2023-09-06 12:00:00  31561222541.000   \n",
      "..       ...      ...      ...      ...                 ...              ...   \n",
      "345  592.780  593.940  589.195  590.325 2025-01-15 13:00:00  33651703147.000   \n",
      "346  591.640  594.350  590.930  594.175 2025-01-16 13:00:00  26116391752.873   \n",
      "347  597.580  599.360  595.610  596.960 2025-01-17 13:00:00  34698895186.000   \n",
      "348  603.050  603.060  598.670  600.670 2025-01-21 13:00:00  25581309697.000   \n",
      "349  606.440  607.820  605.360  605.920 2025-01-22 13:00:00  29229671083.000   \n",
      "\n",
      "       volume                 close_pct_change  \\\n",
      "0    69053911                              NaN   \n",
      "1    66084563  -0.1463382186647746169707988700   \n",
      "2    58944098    0.186521594315532363717108900   \n",
      "3    55166210  -0.4321904297524324563930938200   \n",
      "4    70758512  -0.6722464606891639212892885800   \n",
      "..        ...                              ...   \n",
      "345  56900159    1.818993799275150723990449900   \n",
      "346  44083171  -0.1923141806403724822025034600   \n",
      "347  58070628    1.003988912176323439929687000   \n",
      "348  42532853    0.915358613072726664212323000   \n",
      "349  48195973    0.562142442583533703672995600   \n",
      "\n",
      "                     high_pct_change                   low_pct_change  ...  \\\n",
      "0                                NaN                              NaN  ...   \n",
      "1      0.256824672880642947284521900    0.307500334239493738580150600  ...   \n",
      "2      0.185500077291698871541196500  -0.1066287542207215212368935500  ...   \n",
      "3    -0.5753080432913791963321356900  -0.1134139832769969756271126100  ...   \n",
      "4    -0.5653349886933002261339954800   -1.193312109001046374423937480  ...   \n",
      "..                               ...                              ...  ...   \n",
      "345    1.528205128205128205128205100    1.875162099074954612259012700  ...   \n",
      "346    0.069030541805569586153483500    0.294469572891826984275155100  ...   \n",
      "347    0.842937662993185833263228700    0.791971976376220533734960100  ...   \n",
      "348    0.617325146823278163374265900    0.513759003374691492755326500  ...   \n",
      "349    0.789307863230855967897058300    1.117477074181101441528722000  ...   \n",
      "\n",
      "    volume_ratio  cummax  drawdown  max_drawdown  decline  \\\n",
      "0            NaN     NaN       NaN           NaN      NaN   \n",
      "1       0.957000     NaN       NaN           NaN      NaN   \n",
      "2       0.891950     NaN       NaN           NaN      NaN   \n",
      "3       0.935907     NaN       NaN           NaN      NaN   \n",
      "4       1.282642     NaN       NaN           NaN      NaN   \n",
      "..           ...     ...       ...           ...      ...   \n",
      "345     1.175123  606.79 -0.023089     -0.044398      0.0   \n",
      "346     0.774746  604.29 -0.020934     -0.044398      1.0   \n",
      "347     1.317297  601.34 -0.006253     -0.044398      0.0   \n",
      "348     0.732433  603.05  0.000000     -0.044398      0.0   \n",
      "349     1.133147  606.44  0.000000     -0.044398      0.0   \n",
      "\n",
      "     consecutive_declines  max_consecutive_declines  fear_index  greed_index  \\\n",
      "0                     NaN                       NaN         NaN          NaN   \n",
      "1                     NaN                       NaN         NaN          NaN   \n",
      "2                     NaN                       NaN         NaN          NaN   \n",
      "3                     NaN                       NaN         NaN          NaN   \n",
      "4                     NaN                       NaN         NaN          NaN   \n",
      "..                    ...                       ...         ...          ...   \n",
      "345                   0.0                       4.0   -0.177592     1.177592   \n",
      "346                   1.0                       4.0   -0.177592     1.177592   \n",
      "347                   0.0                       4.0   -0.177592     1.177592   \n",
      "348                   0.0                       4.0   -0.177592     1.177592   \n",
      "349                   0.0                       4.0   -0.177592     1.177592   \n",
      "\n",
      "     fear_greed_index  \n",
      "0                 NaN  \n",
      "1                 NaN  \n",
      "2                 NaN  \n",
      "3                 NaN  \n",
      "4                 NaN  \n",
      "..                ...  \n",
      "345         -0.150809  \n",
      "346         -0.150809  \n",
      "347         -0.150809  \n",
      "348         -0.150809  \n",
      "349         -0.150809  \n",
      "\n",
      "[350 rows x 24 columns]> \n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\TimeG\\AppData\\Local\\Temp\\ipykernel_21860\\2401068125.py:34: FutureWarning: Setting an item of incompatible dtype is deprecated and will raise an error in a future version of pandas. Value '3713016.533002481389578163772' has dtype incompatible with int64, please explicitly cast to a compatible dtype first.\n",
      "  df.loc[i, 'VPT'] = df.loc[i - 1, 'VPT'] + (df.loc[i, 'volume'] * price_change)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "类型<class 'pandas.core.frame.DataFrame'>, 头 <bound method NDFrame.head of        close     high      low     open           timestamp        turnover  \\\n",
      "0    161.200  161.290  159.920  160.400 2023-08-30 12:00:00   588281035.000   \n",
      "1    162.610  162.990  160.960  161.120 2023-08-31 12:00:00  1060793464.000   \n",
      "2    161.570  162.960  160.150  162.870 2023-09-01 12:00:00   675410324.000   \n",
      "3    160.270  162.800  160.180  161.850 2023-09-05 12:00:00   816559469.000   \n",
      "4    161.470  162.170  159.910  160.400 2023-09-06 12:00:00   785911093.000   \n",
      "..       ...      ...      ...      ...                 ...             ...   \n",
      "345   91.340   91.725   90.810   91.065 2025-01-15 13:00:00  1584056210.000   \n",
      "346   91.300   91.720   90.120   91.500 2025-01-16 13:00:00  1208725097.000   \n",
      "347   91.940   92.260   91.050   92.070 2025-01-17 13:00:00  1458549993.000   \n",
      "348   93.080   94.240   92.310   92.480 2025-01-21 13:00:00  2165760164.000   \n",
      "349   93.230   94.000   92.520   93.770 2025-01-22 13:00:00  1449511722.000   \n",
      "\n",
      "       volume                 close_pct_change  \\\n",
      "0     3655920                              NaN   \n",
      "1     6527632    0.874689826302729528535980100   \n",
      "2     4184456  -0.6395670622962917409753397700   \n",
      "3     5069786  -0.8046048152503558828990530400   \n",
      "4     4864854    0.748736507144194172334186100   \n",
      "..        ...                              ...   \n",
      "345  17348174    0.605793589602379116642802100   \n",
      "346  13267723  -0.0437924239106634552222465500   \n",
      "347  15868213    0.700985761226725082146768900   \n",
      "348  23247451    1.239939090711333478355449200   \n",
      "349  15567057    0.161151697464546626557799700   \n",
      "\n",
      "                     high_pct_change                   low_pct_change  ...  \\\n",
      "0                                NaN                              NaN  ...   \n",
      "1      1.054002108004216008432016900    0.650325162581290645322661300  ...   \n",
      "2    -0.0184060371801951039941100700  -0.5032306163021868787276341900  ...   \n",
      "3    -0.0981836033382425135002454600    0.018732438339057133936934100  ...   \n",
      "4    -0.3869778869778869778869778900  -0.1685603695842177550255962000  ...   \n",
      "..                               ...                              ...  ...   \n",
      "345  -0.2772341813437703848662752800    0.270523933086733285485562900  ...   \n",
      "346  -0.0054510765876260561460888500  -0.7598282127518995705318797500  ...   \n",
      "347    0.588748364587876144788486700    1.031957390146471371504660500  ...   \n",
      "348    2.146108822891827444179492700    1.383855024711696869851729800  ...   \n",
      "349  -0.2546689303904923599320882900    0.227494312642183945401365000  ...   \n",
      "\n",
      "    volume_ratio cummax  drawdown  max_drawdown  decline  \\\n",
      "0            NaN    NaN       NaN           NaN      NaN   \n",
      "1       1.785496    NaN       NaN           NaN      NaN   \n",
      "2       0.641037    NaN       NaN           NaN      NaN   \n",
      "3       1.211576    NaN       NaN           NaN      NaN   \n",
      "4       0.959578    NaN       NaN           NaN      NaN   \n",
      "..           ...    ...       ...           ...      ...   \n",
      "345     1.280388  95.42 -0.042758     -0.059561      0.0   \n",
      "346     0.764791  95.42 -0.043178     -0.059561      1.0   \n",
      "347     1.196001  93.55 -0.017210     -0.059561      0.0   \n",
      "348     1.465033  93.40 -0.003426     -0.059561      0.0   \n",
      "349     0.669624  93.23  0.000000     -0.059561      0.0   \n",
      "\n",
      "     consecutive_declines  max_consecutive_declines  fear_index  greed_index  \\\n",
      "0                     NaN                       NaN         NaN          NaN   \n",
      "1                     NaN                       NaN         NaN          NaN   \n",
      "2                     NaN                       NaN         NaN          NaN   \n",
      "3                     NaN                       NaN         NaN          NaN   \n",
      "4                     NaN                       NaN         NaN          NaN   \n",
      "..                    ...                       ...         ...          ...   \n",
      "345                   0.0                       4.0   -0.238245     1.238245   \n",
      "346                   1.0                       4.0   -0.238245     1.238245   \n",
      "347                   0.0                       4.0   -0.238245     1.238245   \n",
      "348                   0.0                       4.0   -0.238245     1.238245   \n",
      "349                   0.0                       4.0   -0.238245     1.238245   \n",
      "\n",
      "     fear_greed_index  \n",
      "0                 NaN  \n",
      "1                 NaN  \n",
      "2                 NaN  \n",
      "3                 NaN  \n",
      "4                 NaN  \n",
      "..                ...  \n",
      "345         -0.192405  \n",
      "346         -0.192405  \n",
      "347         -0.192405  \n",
      "348         -0.192405  \n",
      "349         -0.192405  \n",
      "\n",
      "[350 rows x 24 columns]> \n"
     ]
    }
   ],
   "source": [
    "def execute_order(ctxx, key):\n",
    "        resp = []\n",
    "        resp = ctxx.candlesticks(key, Period.Day, 350, AdjustType.NoAdjust)\n",
    "        # dict_array = np.array(resp, dtype=object)\n",
    "        # array_of_dicts = np.array([objDictTool.to_dic(dictionary) for dictionary in dict_array], dtype=object)\n",
    "        # df = pd.DataFrame.from_records(array_of_dicts)\n",
    "        # df['timestamp'] = pd.to_datetime(df['timestamp'], format='%Y-%m-%d')\n",
    "        return resp\n",
    "#\"CURE.US\"\n",
    "strarrX  = [\"CONL.US\", \"NAIL.US\", \"TSLL.US\", \"GGLL.US\",\"DPST.US\",\"FAS.US\",\"LABU.US\",\"DFEN.US\",\"VXX.US\"]\n",
    "# strarrX = [\"CONL.US\", \"NAIL.US\"]#, \"TSLL.US\", \"GGLL.US\",\"CURE.US\",\"DPST.US\",\"FAS.US\",\"DSPT.US\",\"SPY.US\",\"QQQ.US\",\"DIA.US\"]\n",
    "\n",
    "# print(df)\n",
    "#merge X\n",
    "#merge Y \n",
    "dfdictX = {}\n",
    "for key in strarrX:\n",
    "        dfreturn = execute_order(ctx, key)\n",
    "        dict_array = np.array(dfreturn, dtype=object)\n",
    "        array_of_dicts = np.array([objDictTool.to_dic(dictionary) for dictionary in dict_array], dtype=object)\n",
    "        df = pd.DataFrame.from_records(array_of_dicts)\n",
    "        df['timestamp'] = pd.to_datetime(df['timestamp'], format='%Y-%m-%d')\n",
    "        price_columns = ['close', 'high', 'low', 'open']\n",
    "        for column in price_columns:\n",
    "           df[f'{column}_pct_change'] = df[column].pct_change() * 100  \n",
    "        # calculate_rise_and_fall(df)   \n",
    "        # calculate_fear_and_greed_index(df)\n",
    "        \n",
    "        df = calDF(df)\n",
    "        print(\"类型%s, 头 %s \" % (type(df), df.head))\n",
    "        dfdictX[key] = df\n",
    "\n",
    "    \n",
    "# strarr = [\"CONL.US\", \"NAIL.US\", \"TSLL.US\", \"GGLL.US\",\"CURE.US\",\"DSPT.US\",\"FAS.US\",\"DSPT.US\",\"SPY.US\",\"QQQ.US\",\"DIA.US\"]\n",
    "strarrY = [\"QQQ.US\", \"DIA.US\",\"SPY.US\",\"WMT.US\"]#, \"TSLL.US\", \"GGLL.US\",\"CURE.US\",\"DSPT.US\",\"FAS.US\",\"DSPT.US\",\"SPY.US\",\"QQQ.US\",\"DIA.US\"]\n",
    "\n",
    "\n",
    "print(df)\n",
    "#merge X\n",
    "#merge Y \n",
    "dfdictY = {}\n",
    "for key in strarrY:\n",
    "        dfreturn = execute_order(ctx, key)\n",
    "        dict_array = np.array(dfreturn, dtype=object)\n",
    "        array_of_dicts = np.array([objDictTool.to_dic(dictionary) for dictionary in dict_array], dtype=object)\n",
    "        df = pd.DataFrame.from_records(array_of_dicts)\n",
    "        df['timestamp'] = pd.to_datetime(df['timestamp'], format='%Y-%m-%d')\n",
    "        price_columns = ['close', 'high', 'low', 'open']\n",
    "        for column in price_columns:\n",
    "           df[f'{column}_pct_change'] = df[column].pct_change() * 100  \n",
    "        # calculate_rise_and_fall(df) \n",
    "        # calculate_fear_and_greed_index(df)\n",
    "        df = calDF(df)\n",
    "        print(\"类型%s, 头 %s \" % (type(df), df.head))\n",
    "        dfdictY[key] = df\n",
    "        # print(df.head())\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "39dc9467-19f6-4801-9f22-5b6eba298ce2",
   "metadata": {
    "collapsed": true,
    "jupyter": {
     "outputs_hidden": true
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Index(['close', 'high', 'low', 'open', 'timestamp', 'turnover', 'volume',\n",
      "       'close_pct_change', 'high_pct_change', 'low_pct_change',\n",
      "       'open_pct_change', 'WVAD', 'VPT', 'OBV', 'volume_ratio', 'cummax',\n",
      "       'drawdown', 'max_drawdown', 'decline', 'consecutive_declines',\n",
      "       'max_consecutive_declines', 'fear_index', 'greed_index',\n",
      "       'fear_greed_index'],\n",
      "      dtype='object')\n",
      "<bound method NDFrame.head of        close     high      low     open           timestamp         turnover  \\\n",
      "0    376.860  377.447  373.860  374.880 2023-08-30 12:00:00  15698854915.000   \n",
      "1    377.990  379.719  376.870  376.940 2023-08-31 12:00:00  13520658389.000   \n",
      "2    377.590  380.830  376.080  380.400 2023-09-01 12:00:00  15036748557.000   \n",
      "3    378.070  379.309  375.830  376.770 2023-09-05 12:00:00  12220354840.000   \n",
      "4    374.740  377.630  372.700  377.280 2023-09-06 12:00:00  16111982126.000   \n",
      "..       ...      ...      ...      ...                 ...              ...   \n",
      "345  516.700  517.850  511.460  513.030 2025-01-15 13:00:00  18008398913.000   \n",
      "346  513.080  519.060  512.950  518.980 2025-01-16 13:00:00  14556416619.000   \n",
      "347  521.740  524.073  513.109  522.850 2025-01-17 13:00:00  27009614707.000   \n",
      "348  524.800  525.970  520.060  524.480 2025-01-21 13:00:00  12376902045.000   \n",
      "349  531.510  533.820  529.260  529.570 2025-01-22 13:00:00  17840865535.000   \n",
      "\n",
      "       volume                 close_pct_change  \\\n",
      "0    41731511                              NaN   \n",
      "1    35730701    0.299846096693732420527516800   \n",
      "2    39801177  -0.1058229053678668747850472200   \n",
      "3    32344222    0.127122010646468391641727800   \n",
      "4    42998735  -0.8807892718279683656465733900   \n",
      "..        ...                              ...   \n",
      "345  34957554    2.300625643462421794567197300   \n",
      "346  28229037  -0.7005999612928198180762531400   \n",
      "347  51837941    1.687845949949325641225539900   \n",
      "348  23627971    0.586499022501629163951393400   \n",
      "349  33592988    1.278582317073170731707317100   \n",
      "\n",
      "                     high_pct_change                   low_pct_change  ...  \\\n",
      "0                                NaN                              NaN  ...   \n",
      "1      0.601938815250882905414535000    0.805114213876852297651527300  ...   \n",
      "2      0.292584779797692504193890700  -0.2096213548438453578156924100  ...   \n",
      "3    -0.3993908042958800514665336200  -0.0664752180387151669857477100  ...   \n",
      "4    -0.4426470239303575712677526800  -0.8328233509831572785567943000  ...   \n",
      "..                               ...                              ...  ...   \n",
      "345    1.508365104723074359753408300    1.967742578600051835164177900  ...   \n",
      "346    0.233658395288210871874094800    0.291322879599577679583936200  ...   \n",
      "347    0.965784302392786961044965900    0.030997173213763524710010700  ...   \n",
      "348    0.361972473300475315461777300    1.354682923121597945075997500  ...   \n",
      "349    1.492480559727741125919729300    1.769026650771064877129562000  ...   \n",
      "\n",
      "    volume_ratio  cummax  drawdown  max_drawdown  decline  \\\n",
      "0            NaN     NaN       NaN           NaN      NaN   \n",
      "1       0.856204     NaN       NaN           NaN      NaN   \n",
      "2       1.113921     NaN       NaN           NaN      NaN   \n",
      "3       0.812645     NaN       NaN           NaN      NaN   \n",
      "4       1.329410     NaN       NaN           NaN      NaN   \n",
      "..           ...     ...       ...           ...      ...   \n",
      "345     1.036171  538.17 -0.039894     -0.061486      0.0   \n",
      "346     0.807523  535.80 -0.042404     -0.061486      1.0   \n",
      "347     1.836334  529.96 -0.015511     -0.061486      0.0   \n",
      "348     0.455805  529.96 -0.009737     -0.061486      0.0   \n",
      "349     1.421747  531.51  0.000000     -0.061486      0.0   \n",
      "\n",
      "     consecutive_declines  max_consecutive_declines  fear_index  greed_index  \\\n",
      "0                     NaN                       NaN         NaN          NaN   \n",
      "1                     NaN                       NaN         NaN          NaN   \n",
      "2                     NaN                       NaN         NaN          NaN   \n",
      "3                     NaN                       NaN         NaN          NaN   \n",
      "4                     NaN                       NaN         NaN          NaN   \n",
      "..                    ...                       ...         ...          ...   \n",
      "345                   0.0                       5.0   -0.307431     1.307431   \n",
      "346                   1.0                       5.0   -0.307431     1.307431   \n",
      "347                   0.0                       5.0   -0.307431     1.307431   \n",
      "348                   0.0                       5.0   -0.307431     1.307431   \n",
      "349                   0.0                       5.0   -0.307431     1.307431   \n",
      "\n",
      "     fear_greed_index  \n",
      "0                 NaN  \n",
      "1                 NaN  \n",
      "2                 NaN  \n",
      "3                 NaN  \n",
      "4                 NaN  \n",
      "..                ...  \n",
      "345         -0.235141  \n",
      "346         -0.235141  \n",
      "347         -0.235141  \n",
      "348         -0.235141  \n",
      "349         -0.235141  \n",
      "\n",
      "[350 rows x 24 columns]>\n"
     ]
    }
   ],
   "source": [
    "print(dfdictY[\"QQQ.US\"].columns)\n",
    "print(dfdictY[\"QQQ.US\"].head)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "ddeaaad9-fa85-44ad-b1e9-096c559700f8",
   "metadata": {},
   "outputs": [],
   "source": [
    "#特征筛选 基本面数据\n",
    "\n",
    "#模型总结\n",
    "#参数统计\n",
    "\n",
    "#预测当天数据\n",
    "\n",
    "#结合预测 回测"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "b5552bae-c084-440a-aae2-2ab07ca24a32",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "----------------------%s CONL.US\n",
      "LR:\n",
      "0.433\n",
      "[[ 0  0]\n",
      " [17 13]]\n",
      "\n",
      "LDA:\n",
      "0.733\n",
      "[[ 9  0]\n",
      " [ 8 13]]\n",
      "\n",
      "QDA:\n",
      "0.600\n",
      "[[ 5  0]\n",
      " [12 13]]\n",
      "\n",
      "LSVC:\n",
      "0.567\n",
      "[[ 5  1]\n",
      " [12 12]]\n",
      "\n",
      "RSVM:\n",
      "0.433\n",
      "[[ 0  0]\n",
      " [17 13]]\n",
      "\n",
      "----------------------%s NAIL.US\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\TimeG\\AppData\\Local\\Temp\\ipykernel_21860\\1135792907.py:28: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
      "  y_set[yArr]  = np.where(y_set[yArr]  > 0, 1, 0)\n",
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "LR:\n",
      "0.600\n",
      "[[18 12]\n",
      " [ 0  0]]\n",
      "\n",
      "LDA:\n",
      "0.733\n",
      "[[18  8]\n",
      " [ 0  4]]\n",
      "\n",
      "QDA:\n",
      "0.633\n",
      "[[18 11]\n",
      " [ 0  1]]\n",
      "\n",
      "LSVC:\n",
      "0.600\n",
      "[[18 12]\n",
      " [ 0  0]]\n",
      "\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\TimeG\\AppData\\Local\\Temp\\ipykernel_21860\\1135792907.py:28: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
      "  y_set[yArr]  = np.where(y_set[yArr]  > 0, 1, 0)\n",
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:469: ConvergenceWarning: lbfgs failed to converge (status=1):\n",
      "STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n",
      "\n",
      "Increase the number of iterations (max_iter) or scale the data as shown in:\n",
      "    https://scikit-learn.org/stable/modules/preprocessing.html\n",
      "Please also refer to the documentation for alternative solver options:\n",
      "    https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n",
      "  n_iter_i = _check_optimize_result(\n",
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "RSVM:\n",
      "0.400\n",
      "[[ 0  0]\n",
      " [18 12]]\n",
      "\n",
      "----------------------%s TSLL.US\n",
      "LR:\n",
      "0.500\n",
      "[[ 0  0]\n",
      " [15 15]]\n",
      "\n",
      "LDA:\n",
      "0.767\n",
      "[[10  2]\n",
      " [ 5 13]]\n",
      "\n",
      "QDA:\n",
      "0.733\n",
      "[[ 9  2]\n",
      " [ 6 13]]\n",
      "\n",
      "LSVC:\n",
      "0.500\n",
      "[[ 0  0]\n",
      " [15 15]]\n",
      "\n",
      "RSVM:\n",
      "0.500\n",
      "[[ 0  0]\n",
      " [15 15]]\n",
      "\n",
      "----------------------%s GGLL.US\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\TimeG\\AppData\\Local\\Temp\\ipykernel_21860\\1135792907.py:28: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
      "  y_set[yArr]  = np.where(y_set[yArr]  > 0, 1, 0)\n",
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "C:\\Users\\TimeG\\AppData\\Local\\Temp\\ipykernel_21860\\1135792907.py:28: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
      "  y_set[yArr]  = np.where(y_set[yArr]  > 0, 1, 0)\n",
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "LR:\n",
      "0.500\n",
      "[[ 0  0]\n",
      " [15 15]]\n",
      "\n",
      "LDA:\n",
      "0.700\n",
      "[[15  9]\n",
      " [ 0  6]]\n",
      "\n",
      "QDA:\n",
      "0.667\n",
      "[[ 6  1]\n",
      " [ 9 14]]\n",
      "\n",
      "LSVC:\n",
      "0.500\n",
      "[[ 0  0]\n",
      " [15 15]]\n",
      "\n",
      "RSVM:\n",
      "0.500\n",
      "[[ 0  0]\n",
      " [15 15]]\n",
      "\n",
      "----------------------%s DPST.US\n",
      "LR:\n",
      "0.467\n",
      "[[12 13]\n",
      " [ 3  2]]\n",
      "\n",
      "LDA:\n",
      "0.833\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "C:\\Users\\TimeG\\AppData\\Local\\Temp\\ipykernel_21860\\1135792907.py:28: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
      "  y_set[yArr]  = np.where(y_set[yArr]  > 0, 1, 0)\n",
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[[15  5]\n",
      " [ 0 10]]\n",
      "\n",
      "QDA:\n",
      "0.800\n",
      "[[14  5]\n",
      " [ 1 10]]\n",
      "\n",
      "LSVC:\n",
      "0.467\n",
      "[[12 13]\n",
      " [ 3  2]]\n",
      "\n",
      "RSVM:\n",
      "0.500\n",
      "[[ 0  0]\n",
      " [15 15]]\n",
      "\n",
      "----------------------%s FAS.US\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "C:\\Users\\TimeG\\AppData\\Local\\Temp\\ipykernel_21860\\1135792907.py:28: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
      "  y_set[yArr]  = np.where(y_set[yArr]  > 0, 1, 0)\n",
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:469: ConvergenceWarning: lbfgs failed to converge (status=1):\n",
      "STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n",
      "\n",
      "Increase the number of iterations (max_iter) or scale the data as shown in:\n",
      "    https://scikit-learn.org/stable/modules/preprocessing.html\n",
      "Please also refer to the documentation for alternative solver options:\n",
      "    https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n",
      "  n_iter_i = _check_optimize_result(\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "LR:\n",
      "0.533\n",
      "[[ 0  0]\n",
      " [14 16]]\n",
      "\n",
      "LDA:\n",
      "0.667\n",
      "[[ 4  0]\n",
      " [10 16]]\n",
      "\n",
      "QDA:\n",
      "0.833\n",
      "[[10  1]\n",
      " [ 4 15]]\n",
      "\n",
      "LSVC:\n",
      "0.533\n",
      "[[ 0  0]\n",
      " [14 16]]\n",
      "\n",
      "RSVM:\n",
      "0.533\n",
      "[[ 0  0]\n",
      " [14 16]]\n",
      "\n",
      "----------------------%s LABU.US\n",
      "LR:\n",
      "0.467\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "C:\\Users\\TimeG\\AppData\\Local\\Temp\\ipykernel_21860\\1135792907.py:28: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
      "  y_set[yArr]  = np.where(y_set[yArr]  > 0, 1, 0)\n",
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[[ 0  0]\n",
      " [16 14]]\n",
      "\n",
      "LDA:\n",
      "0.833\n",
      "[[14  3]\n",
      " [ 2 11]]\n",
      "\n",
      "QDA:\n",
      "0.833\n",
      "[[15  4]\n",
      " [ 1 10]]\n",
      "\n",
      "LSVC:\n",
      "0.467\n",
      "[[ 0  0]\n",
      " [16 14]]\n",
      "\n",
      "RSVM:\n",
      "0.467\n",
      "[[ 0  0]\n",
      " [16 14]]\n",
      "\n",
      "----------------------%s DFEN.US\n",
      "LR:\n",
      "0.500\n",
      "[[ 0  0]\n",
      " [15 15]]\n",
      "\n",
      "LDA:\n",
      "0.700\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "C:\\Users\\TimeG\\AppData\\Local\\Temp\\ipykernel_21860\\1135792907.py:28: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
      "  y_set[yArr]  = np.where(y_set[yArr]  > 0, 1, 0)\n",
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\linear_model\\_logistic.py:469: ConvergenceWarning: lbfgs failed to converge (status=1):\n",
      "STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n",
      "\n",
      "Increase the number of iterations (max_iter) or scale the data as shown in:\n",
      "    https://scikit-learn.org/stable/modules/preprocessing.html\n",
      "Please also refer to the documentation for alternative solver options:\n",
      "    https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n",
      "  n_iter_i = _check_optimize_result(\n",
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[[ 6  0]\n",
      " [ 9 15]]\n",
      "\n",
      "QDA:\n",
      "0.700\n",
      "[[ 6  0]\n",
      " [ 9 15]]\n",
      "\n",
      "LSVC:\n",
      "0.500\n",
      "[[ 0  0]\n",
      " [15 15]]\n",
      "\n",
      "RSVM:\n",
      "0.500\n",
      "[[ 0  0]\n",
      " [15 15]]\n",
      "\n",
      "----------------------%s VXX.US\n",
      "LR:\n",
      "0.433\n",
      "[[12 16]\n",
      " [ 1  1]]\n",
      "\n",
      "LDA:\n",
      "0.633\n",
      "[[13 11]\n",
      " [ 0  6]]\n",
      "\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "C:\\Users\\TimeG\\AppData\\Local\\Temp\\ipykernel_21860\\1135792907.py:28: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
      "  y_set[yArr]  = np.where(y_set[yArr]  > 0, 1, 0)\n",
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "QDA:\n",
      "0.600\n",
      "[[12 11]\n",
      " [ 1  6]]\n",
      "\n",
      "LSVC:\n",
      "0.467\n",
      "[[13 16]\n",
      " [ 0  1]]\n",
      "\n",
      "RSVM:\n",
      "0.433\n",
      "[[13 17]\n",
      " [ 0  0]]\n",
      "\n",
      "----------------------%s QQQ.US\n",
      "LR:\n",
      "0.500\n",
      "[[ 5  4]\n",
      " [11 10]]\n",
      "\n",
      "LDA:\n",
      "0.833\n",
      "[[11  0]\n",
      " [ 5 14]]\n",
      "\n",
      "QDA:\n",
      "0.767\n",
      "[[11  2]\n",
      " [ 5 12]]\n",
      "\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "C:\\Users\\TimeG\\AppData\\Local\\Temp\\ipykernel_21860\\1135792907.py:28: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
      "  y_set[yArr]  = np.where(y_set[yArr]  > 0, 1, 0)\n",
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "LSVC:\n",
      "0.533\n",
      "[[ 5  3]\n",
      " [11 11]]\n",
      "\n",
      "RSVM:\n",
      "0.467\n",
      "[[ 0  0]\n",
      " [16 14]]\n",
      "\n",
      "----------------------%s DIA.US\n",
      "LR:\n",
      "0.400\n",
      "[[ 0  1]\n",
      " [17 12]]\n",
      "\n",
      "LDA:\n",
      "0.900\n",
      "[[17  3]\n",
      " [ 0 10]]\n",
      "\n",
      "QDA:\n",
      "0.767\n",
      "[[16  6]\n",
      " [ 1  7]]\n",
      "\n",
      "LSVC:\n",
      "0.433\n",
      "[[ 0  0]\n",
      " [17 13]]\n",
      "\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "C:\\Users\\TimeG\\AppData\\Local\\Temp\\ipykernel_21860\\1135792907.py:28: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
      "  y_set[yArr]  = np.where(y_set[yArr]  > 0, 1, 0)\n",
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "RSVM:\n",
      "0.433\n",
      "[[ 0  0]\n",
      " [17 13]]\n",
      "\n",
      "----------------------%s SPY.US\n",
      "LR:\n",
      "0.667\n",
      "[[ 5  1]\n",
      " [ 9 15]]\n",
      "\n",
      "LDA:\n",
      "0.733\n",
      "[[ 6  0]\n",
      " [ 8 16]]\n",
      "\n",
      "QDA:\n",
      "0.700\n",
      "[[ 7  2]\n",
      " [ 7 14]]\n",
      "\n",
      "LSVC:\n",
      "0.667\n",
      "[[ 5  1]\n",
      " [ 9 15]]\n",
      "\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\TimeG\\AppData\\Local\\Temp\\ipykernel_21860\\1135792907.py:28: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
      "  y_set[yArr]  = np.where(y_set[yArr]  > 0, 1, 0)\n",
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "C:\\Users\\TimeG\\AppData\\Local\\Temp\\ipykernel_21860\\1135792907.py:28: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
      "  y_set[yArr]  = np.where(y_set[yArr]  > 0, 1, 0)\n",
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "RSVM:\n",
      "0.533\n",
      "[[ 0  0]\n",
      " [14 16]]\n",
      "\n",
      "----------------------%s WMT.US\n",
      "LR:\n",
      "0.533\n",
      "[[ 0  0]\n",
      " [14 16]]\n",
      "\n",
      "LDA:\n",
      "0.667\n",
      "[[ 4  0]\n",
      " [10 16]]\n",
      "\n",
      "QDA:\n",
      "0.700\n",
      "[[ 5  0]\n",
      " [ 9 16]]\n",
      "\n",
      "LSVC:\n",
      "0.533\n",
      "[[ 0  0]\n",
      " [14 16]]\n",
      "\n",
      "RSVM:\n",
      "0.533\n",
      "[[ 0  0]\n",
      " [14 16]]\n",
      "\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "D:\\ProgramData\\anaconda\\Lib\\site-packages\\sklearn\\utils\\validation.py:1339: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n"
     ]
    }
   ],
   "source": [
    "\n",
    "\n",
    "strarrY = [\"QQQ.US\", \"DIA.US\",\"SPY.US\",\"WMT.US\"]#, \"TSLL.US\", \"GGLL.US\",\"CURE.US\",\"DSPT.US\",\"FAS.US\",\"DSPT.US\",\"SPY.US\",\"QQQ.US\",\"DIA.US\"]\n",
    "\n",
    "\n",
    "xArr = ['CONL.US_open_pct_change', 'NAIL.US_open_pct_change',\n",
    "       'TSLL.US_open_pct_change', 'GGLL.US_open_pct_change',\n",
    "        'DPST.US_open_pct_change',\n",
    "       'FAS.US_open_pct_change', 'DFEN.US_open_pct_change','VXX.US_open_pct_change']\n",
    "# X_set = XYDF[['CONL.US_open_pct_change', 'NAIL.US_open_pct_change',\n",
    "#        'TSLL.US_open_pct_change', 'GGLL.US_open_pct_change',\n",
    "#         'DPST.US_open_pct_change',\n",
    "#        'FAS.US_open_pct_change', 'DFEN.US_open_pct_change','VXX.US_open_pct_change']]\n",
    "# ycolumname = ['DIA.US_close_pct_change','SPY.US_close_pct_change','QQQ.US_close_pct_change','WMT.US_close_pct_change'][3]\n",
    "\n",
    "def testdf(XYDF):\n",
    "    #'close','high_pct_change', 'low_pct_change','open_pct_change',, 'timestamp'\n",
    "    #,'fear_greed_index' ,'fear_greed_index'\n",
    "    xArr = [ 'close','high', 'low', 'open', 'turnover', 'volume',\n",
    "             'WVAD', 'VPT', 'OBV', 'volume_ratio']\n",
    "    allww= ['close', 'high', 'low', 'open', 'timestamp', 'turnover', 'volume',\n",
    "            'high_pct_change', 'low_pct_change',\n",
    "           'open_pct_change', 'WVAD', 'VPT', 'OBV', 'volume_ratio','fear_greed_index','close_pct_change']\n",
    "    XYDF = XYDF[allww].dropna(axis=0) #.(XYDF.index[0])\n",
    "    yArr = ['close_pct_change']\n",
    "    XYDF = XYDF.apply(pd.to_numeric, errors='coerce')\n",
    "    X_set = XYDF[xArr]\n",
    "    y_set = XYDF[yArr]#, 'DIA.US_open_pct_change','SPY.US_open_pct_change','QQQ.US_open_pct_change']]\n",
    "    start_test = 320\n",
    "    y_set[yArr]  = np.where(y_set[yArr]  > 0, 1, 0)\n",
    "    \n",
    "    X_train = X_set[X_set.index < start_test]\n",
    "    X_test = X_set[X_set.index >= start_test]\n",
    "    y_train = y_set[y_set.index < start_test]\n",
    "    y_test = y_set[y_set.index >= start_test]\n",
    "    \n",
    "    \n",
    "    models = [\n",
    "        (\"LR\", LogisticRegression()), \n",
    "              (\"LDA\", LDA()), \n",
    "              (\"QDA\", QDA()),\n",
    "              (\"LSVC\", LinearSVC()),\n",
    "              (\"RSVM\", SVC(\n",
    "                C=1000000.0, cache_size=200, class_weight=None,\n",
    "                coef0=0.0, degree=3, gamma=0.0001, kernel='rbf',\n",
    "                max_iter=-1, probability=False, random_state=None,\n",
    "                shrinking=True, tol=0.001, verbose=False)\n",
    "              ),\n",
    "              # (\"RF\", RandomForestClassifier(\n",
    "              #   n_estimators=1000, criterion='gini', \n",
    "              #   max_depth=None, min_samples_split=2, \n",
    "              #   min_samples_leaf=1, max_features='auto', \n",
    "              #   bootstrap=True, oob_score=False, n_jobs=1, \n",
    "              #   random_state=None, verbose=0)\n",
    "              # )\n",
    "             ]\n",
    "    \n",
    "    # Iterate through the models\n",
    "    for m in models:\n",
    "        \n",
    "        # Train each of the models on the training set\n",
    "        m[1].fit(X_train, y_train)\n",
    "    \n",
    "        # Make an array of predictions on the test set\n",
    "        pred = m[1].predict(X_test)\n",
    "    \n",
    "        # Output the hit-rate and the confusion matrix for each model\n",
    "        print(\"%s:\\n%0.3f\" % (m[0], m[1].score(X_test, y_test)))\n",
    "        print(\"%s\\n\" % confusion_matrix(pred, y_test))\n",
    "    # import shap\n",
    "    # for m in models:\n",
    "    #     print(m)\n",
    "    #     try:\n",
    "    #         explainer = shap.Explainer(m[1], X_train)\n",
    "            \n",
    "    #         # 计算测试集的SHAP值\n",
    "    #         shap_values = explainer(X_test)\n",
    "            \n",
    "    #         # 绘制SHAP值总结图（Summary Plot），展示每个特征的重要程度\n",
    "    #         shap.summary_plot(shap_values, X_test)\n",
    "    #     except TypeError:\n",
    "    #         try:\n",
    "    #             xplainer = shap.KernelExplainer(m[1].predict_proba, X_train)\n",
    "    #             shap_values = explainer.shap_values(X_test)\n",
    "    #             # 绘制SHAP值总结图（Summary Plot），展示每个特征的重要程度\n",
    "    #             shap.summary_plot(shap_values, X_test)\n",
    "            \n",
    "    #         except AttributeError:\n",
    "    #             print(m[0])\n",
    "        #     explainer = shap.KernelExplainer(m[1].predict_proba, X_train)\n",
    "    # print(X_train.head())\n",
    "\n",
    "for key in strarrX:\n",
    "        print(\"----------------------%s\",key)\n",
    "        testdf(dfdictX[key])\n",
    "for key in strarrY:\n",
    "        print(\"----------------------%s\",key)\n",
    "        testdf(dfdictY[key])"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5b36f482-0886-4d11-b3b1-feb78c0360db",
   "metadata": {},
   "source": [
    "股票内在价值计算"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "017af1e8-b233-441e-baf1-99b2a3ce8369",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "                商品          日期   今值  预测值   前值\n",
      "0    美国国内生产总值(GDP)  2008-02-28  0.6  0.7  0.6\n",
      "1    美国国内生产总值(GDP)  2008-03-27  0.6  0.6  0.6\n",
      "2    美国国内生产总值(GDP)  2008-04-30  0.6  0.2  0.6\n",
      "3    美国国内生产总值(GDP)  2008-06-26  2.7  1.0  0.9\n",
      "4    美国国内生产总值(GDP)  2008-07-31  1.9  2.0  1.0\n",
      "..             ...         ...  ...  ...  ...\n",
      "197  美国国内生产总值(GDP)  2024-09-26  3.0  3.0  1.6\n",
      "198  美国国内生产总值(GDP)  2024-10-30  2.8  3.0  3.0\n",
      "199  美国国内生产总值(GDP)  2024-11-27  2.8  2.8  3.0\n",
      "200  美国国内生产总值(GDP)  2024-12-19  3.1  2.8  3.0\n",
      "201  美国国内生产总值(GDP)  2025-01-30  NaN  NaN  3.1\n",
      "\n",
      "[202 rows x 5 columns]\n",
      "          商品          日期   今值  预测值   前值\n",
      "0    美国CPI月率  1970-01-01  0.5  NaN  NaN\n",
      "1    美国CPI月率  1970-02-01  0.5  NaN  0.5\n",
      "2    美国CPI月率  1970-03-01  0.5  NaN  0.5\n",
      "3    美国CPI月率  1970-04-01  0.5  NaN  0.5\n",
      "4    美国CPI月率  1970-05-01  0.5  NaN  0.5\n",
      "..       ...         ...  ...  ...  ...\n",
      "657  美国CPI月率  2024-10-10  0.2  0.1  0.2\n",
      "658  美国CPI月率  2024-11-13  0.2  0.2  0.2\n",
      "659  美国CPI月率  2024-12-11  0.3  0.3  0.2\n",
      "660  美国CPI月率  2025-01-15  0.4  0.4  0.3\n",
      "661  美国CPI月率  2025-02-12  NaN  NaN  0.4\n",
      "\n",
      "[662 rows x 5 columns]\n",
      "           商品          日期   今值  预测值   前值\n",
      "0    美国出口价格指数  1989-02-01  1.2  NaN  NaN\n",
      "1    美国出口价格指数  1989-03-01 -0.3  NaN  1.2\n",
      "2    美国出口价格指数  1989-04-01  0.6  NaN -0.3\n",
      "3    美国出口价格指数  1989-05-01 -0.2  NaN  0.6\n",
      "4    美国出口价格指数  1989-06-01  0.4  NaN -0.2\n",
      "..        ...         ...  ...  ...  ...\n",
      "429  美国出口价格指数  2024-09-13 -0.7 -0.1  0.5\n",
      "430  美国出口价格指数  2024-10-16 -0.7 -0.4 -0.9\n",
      "431  美国出口价格指数  2024-11-15  0.8 -0.1 -0.6\n",
      "432  美国出口价格指数  2024-12-13  0.0 -0.2  1.0\n",
      "433  美国出口价格指数  2025-01-16  0.3  0.2  0.0\n",
      "\n",
      "[434 rows x 5 columns]\n",
      "                 商品          日期   今值  预测值   前值\n",
      "0    美国实际个人消费支出季率初值  2013-11-07  1.5  1.6  1.8\n",
      "1    美国实际个人消费支出季率初值  2013-12-05  1.4  1.5  1.5\n",
      "2    美国实际个人消费支出季率初值  2013-12-20  2.0  1.4  1.4\n",
      "3    美国实际个人消费支出季率初值  2014-01-30  3.3  3.7  2.0\n",
      "4    美国实际个人消费支出季率初值  2014-02-28  2.6  2.9  3.3\n",
      "..              ...         ...  ...  ...  ...\n",
      "133  美国实际个人消费支出季率初值  2024-09-26  2.8  2.9  1.9\n",
      "134  美国实际个人消费支出季率初值  2024-10-30  3.7  NaN  2.8\n",
      "135  美国实际个人消费支出季率初值  2024-11-27  3.5  3.7  2.8\n",
      "136  美国实际个人消费支出季率初值  2024-12-19  3.7  3.5  2.8\n",
      "137  美国实际个人消费支出季率初值  2025-01-30  NaN  NaN  3.7\n",
      "\n",
      "[138 rows x 5 columns]\n",
      "         商品          日期    今值     预测值    前值\n",
      "0   美国经常账报告  2008-03-17 -1730 -1840.0 -1790\n",
      "1   美国经常账报告  2008-06-17 -1760     NaN -1730\n",
      "2   美国经常账报告  2008-09-17 -1830 -1800.0 -1760\n",
      "3   美国经常账报告  2008-12-17 -1740 -1800.0 -1830\n",
      "4   美国经常账报告  2009-03-18 -1330 -1370.0 -1740\n",
      "..      ...         ...   ...     ...   ...\n",
      "63  美国经常账报告  2023-12-20 -2003 -1970.0 -2168\n",
      "64  美国经常账报告  2024-03-21 -1948 -2090.0 -1964\n",
      "65  美国经常账报告  2024-06-20 -2376 -2070.0 -2218\n",
      "66  美国经常账报告  2024-09-19 -2668 -2590.0 -2410\n",
      "67  美国经常账报告  2024-12-18 -3109 -2860.0 -2750\n",
      "\n",
      "[68 rows x 5 columns]\n",
      "                 商品          日期   今值  预测值   前值\n",
      "0    美国成屋签约销售指数月率报告  2001-03-01  5.1  NaN  NaN\n",
      "1    美国成屋签约销售指数月率报告  2001-04-01 -4.7  NaN  5.1\n",
      "2    美国成屋签约销售指数月率报告  2001-05-01 -2.9  NaN -4.7\n",
      "3    美国成屋签约销售指数月率报告  2001-06-01  2.7  NaN -2.9\n",
      "4    美国成屋签约销售指数月率报告  2001-07-01 -3.4  NaN  2.7\n",
      "..              ...         ...  ...  ...  ...\n",
      "283  美国成屋签约销售指数月率报告  2024-09-26  0.6  0.9 -5.5\n",
      "284  美国成屋签约销售指数月率报告  2024-10-30  7.4  1.9  0.6\n",
      "285  美国成屋签约销售指数月率报告  2024-11-27  2.0 -2.1  7.5\n",
      "286  美国成屋签约销售指数月率报告  2024-12-30  2.2  0.9  1.8\n",
      "287  美国成屋签约销售指数月率报告  2025-01-30  NaN  NaN  2.2\n",
      "\n",
      "[288 rows x 5 columns]\n",
      "                     商品          日期    今值   预测值    前值\n",
      "0    美国密歇根大学消费者信心指数初值报告  1970-03-01  78.1   NaN   NaN\n",
      "1    美国密歇根大学消费者信心指数初值报告  1970-06-01  75.4   NaN  78.1\n",
      "2    美国密歇根大学消费者信心指数初值报告  1970-09-01  77.6   NaN  75.4\n",
      "3    美国密歇根大学消费者信心指数初值报告  1970-12-01  72.4   NaN  77.6\n",
      "4    美国密歇根大学消费者信心指数初值报告  1971-03-01  78.1   NaN  72.4\n",
      "..                  ...         ...   ...   ...   ...\n",
      "792  美国密歇根大学消费者信心指数初值报告  2024-12-06  74.0  73.1  71.8\n",
      "793  美国密歇根大学消费者信心指数初值报告  2024-12-20  74.0  74.0  71.8\n",
      "794  美国密歇根大学消费者信心指数初值报告  2025-01-10  73.2  74.0  74.0\n",
      "795  美国密歇根大学消费者信心指数初值报告  2025-01-24   NaN  73.2  73.2\n",
      "796  美国密歇根大学消费者信心指数初值报告  2025-02-07   NaN   NaN  74.0\n",
      "\n",
      "[797 rows x 5 columns]\n",
      "            商品          日期     今值   预测值     前值\n",
      "0    美联储利率决议报告  1982-09-28  10.25   NaN    NaN\n",
      "1    美联储利率决议报告  1982-10-02  10.00   NaN  10.25\n",
      "2    美联储利率决议报告  1982-10-08   9.50   NaN  10.00\n",
      "3    美联储利率决议报告  1982-11-20   9.00   NaN   9.50\n",
      "4    美联储利率决议报告  1982-12-15   8.50   NaN   9.00\n",
      "..         ...         ...    ...   ...    ...\n",
      "284  美联储利率决议报告  2024-09-19   5.00  5.25   5.50\n",
      "285  美联储利率决议报告  2024-11-08   4.75  4.75   5.00\n",
      "286  美联储利率决议报告  2024-12-19   4.50  4.50   4.75\n",
      "287  美联储利率决议报告  2025-01-30    NaN   NaN   4.50\n",
      "288  美联储利率决议报告  2025-03-20    NaN   NaN    NaN\n",
      "\n",
      "[289 rows x 5 columns]\n",
      "     Year  Month  News_Based_Policy_Uncert_Index\n",
      "0    1985      1                      103.748800\n",
      "1    1985      2                       78.313193\n",
      "2    1985      3                      100.761480\n",
      "3    1985      4                       84.778863\n",
      "4    1985      5                       98.053653\n",
      "..    ...    ...                             ...\n",
      "475  2024      8                      138.366430\n",
      "476  2024      9                      127.399120\n",
      "477  2024     10                      109.290890\n",
      "478  2024     11                      225.392130\n",
      "479  2024     12                      215.256460\n",
      "\n",
      "[480 rows x 3 columns]\n"
     ]
    }
   ],
   "source": [
    "import akshare as ak\n",
    "\n",
    "macro_usa_gdp_monthly_df = ak.macro_usa_gdp_monthly()\n",
    "print(macro_usa_gdp_monthly_df)\n",
    "macro_usa_cpi_monthly_df = ak.macro_usa_cpi_monthly()\n",
    "print(macro_usa_cpi_monthly_df)\n",
    "macro_usa_export_price_df = ak.macro_usa_export_price()\n",
    "print(macro_usa_export_price_df)\n",
    "macro_usa_real_consumer_spending_df = ak.macro_usa_real_consumer_spending()\n",
    "print(macro_usa_real_consumer_spending_df)\n",
    "macro_usa_current_account_df = ak.macro_usa_current_account()\n",
    "print(macro_usa_current_account_df)\n",
    "macro_usa_pending_home_sales_df = ak.macro_usa_pending_home_sales()\n",
    "print(macro_usa_pending_home_sales_df)\n",
    "macro_usa_michigan_consumer_sentiment_df = ak.macro_usa_michigan_consumer_sentiment()\n",
    "print(macro_usa_michigan_consumer_sentiment_df)\n",
    "macro_bank_usa_interest_rate_df = ak.macro_bank_usa_interest_rate()\n",
    "print(macro_bank_usa_interest_rate_df)\n",
    "#USA\n",
    "article_epu_index_df = ak.article_epu_index(symbol=\"USA\")  # 注意单词第一个字母大写\n",
    "print(article_epu_index_df)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "5ae2e850-4c8f-4b49-a4f8-64f4ee5d016d",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "                                             "
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "             日期   中行汇买价   中行钞买价  中行钞卖价/汇卖价   央行中间价  中行汇买价_pct_change  \\\n",
      "0    2024-03-04  718.80  715.11     721.66  710.20               NaN   \n",
      "1    2024-03-05  718.55  714.86     721.41  710.27         -0.034780   \n",
      "2    2024-03-06  718.75  715.06     721.61  710.16          0.027834   \n",
      "3    2024-03-07  718.50  714.81     721.36  710.02         -0.034783   \n",
      "4    2024-03-08  717.65  713.97     720.51  709.78         -0.118302   \n",
      "..          ...     ...     ...        ...     ...               ...   \n",
      "205  2024-12-05  725.97  725.97     729.02  718.79         -0.034425   \n",
      "206  2024-12-06  724.57  724.57     727.62  718.48         -0.192845   \n",
      "207  2024-12-07  726.22  726.22     729.27  718.48          0.227721   \n",
      "208  2024-12-09  726.87  726.87     729.92  718.70          0.089505   \n",
      "209  2024-12-10  723.02  723.02     726.07  718.96         -0.529668   \n",
      "\n",
      "     中行钞买价_pct_change  中行钞卖价/汇卖价_pct_change  央行中间价_pct_change  \n",
      "0                 NaN                   NaN               NaN  \n",
      "1           -0.034960             -0.034642          0.009856  \n",
      "2            0.027978              0.027723         -0.015487  \n",
      "3           -0.034962             -0.034645         -0.019714  \n",
      "4           -0.117514             -0.117833         -0.033802  \n",
      "..                ...                   ...               ...  \n",
      "205         -0.034425             -0.034281         -0.076459  \n",
      "206         -0.192845             -0.192039         -0.043128  \n",
      "207          0.227721              0.226767          0.000000  \n",
      "208          0.089505              0.089130          0.030620  \n",
      "209         -0.529668             -0.527455          0.036176  \n",
      "\n",
      "[210 rows x 9 columns]\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r"
     ]
    }
   ],
   "source": [
    "# 取财经数据 日 周   大盘指数 \n",
    "# 因子测算 价值回归\n",
    "# 不同模型 加工数据  可视化权重 显示\n",
    "\n",
    "# 策略组合\n",
    "import akshare as ak\n",
    "\n",
    "# stock_zh_a_hist_df = ak.stock_zh_a_hist(\n",
    "#     symbol=\"600734\", \n",
    "#     period=\"daily\", \n",
    "#     start_date=\"20050501\", \n",
    "#     end_date=\"20050520\", \n",
    "#     adjust=\"hfq\"\n",
    "# )\n",
    "# print(stock_zh_a_hist_df)\n",
    "\n",
    "currency_boc_sina_df = ak.currency_boc_sina(symbol=\"美元\", start_date=\"20240304\", end_date=\"20241210\")\n",
    "\n",
    "price_columns = ['中行汇买价', '中行钞买价', '中行钞卖价/汇卖价', '央行中间价']\n",
    "for column in price_columns:\n",
    "    currency_boc_sina_df[f'{column}_pct_change'] = currency_boc_sina_df[column].pct_change() * 100\n",
    "\n",
    "print(currency_boc_sina_df)\n",
    "#统一日期 设置日期 index 等等 合并 数据\n",
    "\n",
    "def setTimestamp(tdfarr):\n",
    "       \n",
    "       rarr = []\n",
    "       for dftemp in tdfarr:\n",
    "# 2. 处理 currency_boc_sina_df 的时间格式\n",
    "              dftemp = dftemp.reset_index()  # 将索引转为列\n",
    "              dftemp.rename(columns={'index': 'timestamp'}, inplace=True)\n",
    "              dftemp['timestamp'] = pd.to_datetime(dftemp['timestamp']).dt.date\n",
    "\n",
    "              # 3. 准备货币数据\n",
    "              currency_cols = ['中行汇买价_pct_change', '中行钞买价_pct_change', '中行钞卖价/汇卖价_pct_change', '央行中间价_pct_change']\n",
    "              currency_df = currency_boc_sina_df[currency_cols + ['timestamp']]\n",
    "\n",
    "              # 4. 检查日期范围\n",
    "              print(\"X_train日期范围:\", min(X_train['timestamp']), \"到\", max(X_train['timestamp']))\n",
    "              print(\"货币数据日期范围:\", min(currency_df['timestamp']), \"到\", max(currency_df['timestamp']))\n",
    "\n",
    "              # 5. 合并数据\n",
    "              X_train_with_currency = pd.merge(X_train, currency_df, on='timestamp', how='left')\n",
    "\n",
    "              # 6. 检查合并结果\n",
    "              print(\"合并后的数据形状:\", X_train_with_currency.shape)\n",
    "              print(\"合并后的列名:\", X_train_with_currency.columns.tolist())\n",
    "\n",
    "              # 7. 处理空值\n",
    "              X_train_with_currency = X_train_with_currency.fillna(0)\n",
    "\n",
    "              origin =dfdictY[key]\n",
    "              temp = origin.copy()\n",
    "              temp[f'{key}_open_pct_change']  = origin['open_pct_change']\n",
    "              temp['timestamp']  = origin['timestamp']\n",
    "              dfs.append(temp)\n",
    "              y_train = pd.concat(dfs, axis=1,join='inner')\n",
    "\n",
    "              y_train = y_train.loc[:, ~y_train.columns.duplicated()]\n",
    "              print(y_train.shape[0])\n",
    "       return rarr\n",
    "    # timestamp    \n",
    "    # print(temp.columns)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "f5da349c-577c-4d24-a109-b6f094a7645d",
   "metadata": {},
   "outputs": [],
   "source": [
    "import os\n",
    "\n",
    "# 设置缓存路径\n",
    "os.environ[\"HF_HOME\"] = \"D:\\\\HuggingFaceCache\"\n",
    "\n",
    "# 加载模型（示例）\n",
    "from transformers import AutoModelForSequenceClassification\n",
    "\n",
    "model = AutoModelForSequenceClassification.from_pretrained(\"ProsusAI/finbert\", cache_dir=\"D:\\\\HuggingFaceCache\")\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "ffd708e1-45c8-4fef-b5fb-6bd2ddfd0993",
   "metadata": {},
   "outputs": [],
   "source": [
    "#回測工具  #預測當天價格 持倉策略"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "cbfb0c58-96f5-418a-ac68-1d27555486ea",
   "metadata": {},
   "outputs": [],
   "source": [
    "\n",
    "\n",
    "class MovingAverageStrategy(bt.Strategy):\n",
    "    params = (('maperiod', 15),)  # 移动平均周期\n",
    "\n",
    "    def log(self, txt, dt=None):\n",
    "        dt = dt or self.datas[0].datetime.date(0)\n",
    "        print('%s, %s' % (dt.isoformat(), txt))\n",
    "\n",
    "    def __init__(self):\n",
    "        self.dataclose = self.datas[0].close\n",
    "        self.sma = bt.indicators.SimpleMovingAverage(self.datas[0], period=self.params.maperiod)\n",
    "\n",
    "    def notify_order(self, order):\n",
    "        if order.status in [order.Completed]:\n",
    "            if order.isbuy():\n",
    "                self.log('BUY EXECUTED, Price: %.2f, Cost: %.2f, Comm %.2f' %\n",
    "                         (order.executed.price,\n",
    "                          order.executed.value,\n",
    "                          order.executed.comm))\n",
    "            elif order.issell():\n",
    "                self.log('SELL EXECUTED, Price: %.2f, Cost: %.2f, Comm %.2f' %\n",
    "                         (order.executed.price,\n",
    "                          order.executed.value,\n",
    "                          order.executed.comm))\n",
    "\n",
    "    def next(self):\n",
    "        if not self.position:\n",
    "            if self.dataclose[0] > self.sma[0]:\n",
    "                self.log('BUY CREATE, %.2f' % self.dataclose[0])\n",
    "                self.buy()\n",
    "        else:\n",
    "            if self.dataclose[0] < self.sma[0]:\n",
    "                self.log('SELL CREATE, %.2f' % self.dataclose[0])\n",
    "                self.sell()\n",
    "\n",
    "# if __name__ == '__main__':\n",
    "#     cerebro = bt.Cerebro()\n",
    "#     cerebro.addstrategy(MovingAverageStrategy)\n",
    "\n",
    "#     # 加载数据\n",
    "#     # 这里需要替换为您获取的数据，以下代码仅为示例\n",
    "#     data = bt.feeds.PandasData(dataname=pd.DataFrame({'date': pd.date_range(start='2020-01-01', periods=100), 'close': range(100)}))\n",
    "#     cerebro.adddata(data)\n",
    "\n",
    "#     cerebro.broker.setcash(100000.0)\n",
    "#     cerebro.run()\n",
    "#     print('Final Portfolio Value: %.2f' % cerebro.broker.getvalue())\n",
    "#长桥取数据  转入back trader\n",
    "# 创建策略\n",
    "# class MovingAverageStrategy(bt.Strategy):\n",
    "#     params = (('maperiod', 15),)  # MA周期参数\n",
    "\n",
    "#     def __init__(self):\n",
    "#         # 添加移动平均线指标\n",
    "#         self.sma = bt.indicators.SimpleMovingAverage(self.data.close, period=self.params.maperiod)\n",
    "\n",
    "#     def next(self):\n",
    "#         # 如果当前价格高于MA，则买入\n",
    "#         if self.data.close[0] > self.sma[0]:\n",
    "#             if not self.position:  # 如果当前没有持仓\n",
    "#                 self.buy()  # 买入\n",
    "#         # 如果当前价格低于MA，则卖出\n",
    "#         elif self.data.close[0] < self.sma[0]:\n",
    "#             if self.position:  # 如果当前有持仓\n",
    "#                 self.sell()  # 卖出\n",
    "\n",
    "# 创建Cerebro引擎\n",
    "cerebro = bt.Cerebro()\n",
    "\n",
    "# 添加策略\n",
    "cerebro.addstrategy(MovingAverageStrategy)\n",
    "\n",
    "# 加载数据\n",
    "# data = bt.feeds.YahooFinanceData(dataname='AAPL', fromdate=datetime.datetime(2020, 1, 1), todate=datetime.datetime(2021, 1, 1))\n",
    "# cerebro.adddata(df)\n",
    "data = bt.feeds.PandasData(dataname=df, datetime=4 , open=3,high=1,low=2,close=0,volume=6,openinterest=-1)\n",
    "cerebro.adddata(data)\n",
    "# 设置初始资金\n",
    "cerebro.broker.setcash(10000.0)\n",
    "\n",
    "# 运行策略\n",
    "cerebro.run()\n",
    "\n",
    "cerebro.addanalyzer(bt.analyzers.TimeReturn,_name='stock_returns')\n",
    "# 返回 benchmark 的收益率\n",
    "cerebro.addanalyzer(bt.analyzers.TimeReturn, data=data, _name='benchmark_returns')\n",
    "# 添加业绩基准的观测器\n",
    "cerebro.addobserver(bt.observers.Benchmark, data=data)\n",
    "cerebro.addobserver(bt.observers.TimeReturn)\n",
    "# 绘制结果\n",
    "cerebro.plot(iplot = False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "6dd4fab4-7640-4f90-82e6-f15cc6197b9b",
   "metadata": {},
   "outputs": [],
   "source": [
    "根据模型1和模型2的特点，可以设计以下分步骤的仓位管理策略：\n",
    "\n",
    "---\n",
    "\n",
    "### **一、策略框架设计**\n",
    "#### 1. **模型分工**\n",
    "- **模型1（大盘关联筛选器）**：  \n",
    "  通过个股涨跌幅（x）与大盘涨跌幅（y）的关联性筛选股票池。  \n",
    "  - **筛选逻辑**：  \n",
    "    - 计算个股与大盘的相关系数（如Pearson系数），选择正相关且稳定性高的股票（跟随大盘趋势）；  \n",
    "    - 或选择与大盘负相关的抗跌股（避险属性）；  \n",
    "    - 或计算个股Alpha值（超额收益），选择长期跑赢大盘的标的。\n",
    "\n",
    "- **模型2（个股预测器）**：  \n",
    "  基于多维数据（技术面、基本面、资金流等）预测个股短期涨跌概率或幅度。\n",
    "\n",
    "---\n",
    "\n",
    "#### 2. **仓位分配核心原则**\n",
    "- **双重验证**：仅交易同时通过模型1和模型2筛选的股票。  \n",
    "- **动态权重**：根据模型置信度分配仓位（如模型预测胜率越高、预期收益越大，仓位越重）。  \n",
    "- **风险控制**：结合大盘状态（模型1输入y）调节总仓位上限。\n",
    "\n",
    "---\n",
    "\n",
    "### **二、具体执行步骤**\n",
    "#### **步骤1：股票初筛（模型1）**\n",
    "- 输入当日大盘涨跌幅y，计算每只股票与大盘的关联指标：  \n",
    "  - 相关系数 \\( R = \\text{Corr}(x, y) \\)；  \n",
    "  - 超额收益 \\( \\alpha = \\text{Avg}(x - \\beta y) \\)（β为个股对大盘的敏感度）。  \n",
    "- 筛选规则（示例）：  \n",
    "  - **趋势跟随模式**：选择 \\( R > 0.7 \\) 且 \\( \\alpha > 0 \\) 的股票；  \n",
    "  - **避险模式**：选择 \\( R < -0.5 \\) 的股票（大盘跌时抗跌）。\n",
    "\n",
    "---\n",
    "#模型2 要考虑N日预期 所以要移动平均窗一类\n",
    "#### **步骤2：个股预测（模型2）**\n",
    "- 对模型1输出的股票，输入多维数据（如量价、财务、舆情等），预测未来N日涨跌幅 \\( \\hat{x}_i \\) 或上涨概率 \\( p_i \\)。  \n",
    "- 输出结果示例：  \n",
    "  - 股票A：预测涨幅 \\( \\hat{x}_A = +3\\% \\)，胜率 \\( p_A = 70\\% \\)；  \n",
    "  - 股票B：预测涨幅 \\( \\hat{x}_B = +5\\% \\)，胜率 \\( p_B = 60\\% \\)。\n",
    "\n",
    "---\n",
    "\n",
    "#### **步骤3：动态仓位分配**\n",
    "- **个股权重计算**：  \n",
    "  综合模型1和模型2的结果，计算每只股票的权重 \\( w_i \\)：  \n",
    "  \\[\n",
    "  w_i = \\frac{\\text{Score}_i}{\\sum \\text{Score}_j}, \\quad \\text{Score}_i = \\alpha_i \\times \\hat{x}_i \\times p_i\n",
    "  \\]  \n",
    "  - \\( \\alpha_i \\)：模型1给出的超额收益（标准化后）；  \n",
    "  - \\( \\hat{x}_i \\times p_i \\)：模型2的预期收益。\n",
    "\n",
    "- **总仓位控制**：  \n",
    "  根据大盘状态动态调整总仓位比例 \\( C \\)（如大盘处于下跌趋势时降低仓位）：  \n",
    "  \\[\n",
    "  C = \\begin{cases} \n",
    "  80\\% & \\text{if } y > 1\\% \\text{（大盘强势）} \\\\\n",
    "  50\\% & \\text{if } -1\\% \\leq y \\leq 1\\% \\\\\n",
    "  30\\% & \\text{if } y < -1\\% \\text{（大盘弱势）}\n",
    "  \\end{cases}\n",
    "  \\]\n",
    "\n",
    "---\n",
    "                                         \n",
    " 超过预期 强制止损\n",
    "                                         \n",
    "#### **步骤4：交易执行与风控**\n",
    "- **买入**：按权重 \\( w_i \\) 分配资金，限制单股仓位不超过总仓位的20%。  \n",
    "- **止损止盈**：  \n",
    "  - 若个股跌幅超过模型2预测的下跌阈值（如-5%），强制止损；  \n",
    "  - 若涨幅达到预期收益 \\( \\hat{x}_i \\)，分批止盈。  \n",
    "- **再平衡周期**：每3天或当大盘涨跌幅 \\( y \\) 变化超过2%时，重新运行模型调整仓位。\n",
    "\n",
    "---\n",
    "\n",
    "### **三、策略优化方向**\n",
    "1. **模型协同性验证**：  \n",
    "   - 回测模型1筛选的股票在模型2中的预测胜率，剔除两者负相关的组合。\n",
    "   \n",
    "2. **非线性权重设计**：  \n",
    "   - 对高胜率（\\( p_i > 80\\% \\)）股票使用凯利公式（\\( f = p - \\frac{1-p}{r} \\)，r为赔率）分配激进仓位。\n",
    "\n",
    "3. **黑天鹅防护**：  \n",
    "   - 当大盘单日暴跌（\\( y < -3\\% \\)）时，总仓位降至10%以下，优先保留现金。\n",
    "\n",
    "---\n",
    "\n",
    "### **四、示例场景**\n",
    "**情景**：  \n",
    "- 大盘涨跌幅 \\( y = +0.8\\% \\)（总仓位 \\( C = 50\\% \\)）；  \n",
    "- 模型1筛选出股票A（\\( \\alpha=1.2, R=0.8 \\)）、股票B（\\( \\alpha=0.9, R=0.7 \\)）；  \n",
    "- 模型2预测：A涨+4%（胜率75%），B涨+6%（胜率60%）。\n",
    "\n",
    "**权重计算**：  \n",
    "\\[\n",
    "\\text{Score}_A = 1.2 \\times 4\\% \\times 0.75 = 3.6, \\quad \\text{Score}_B = 0.9 \\times 6\\% \\times 0.6 = 3.24\n",
    "\\]  \n",
    "\\[\n",
    "w_A = \\frac{3.6}{3.6+3.24} \\approx 52.6\\%, \\quad w_B = 47.4\\%\n",
    "\\]  \n",
    "**实际持仓**：  \n",
    "- 股票A：\\( 50\\% \\times 52.6\\% = 26.3\\% \\)；  \n",
    "- 股票B：\\( 50\\% \\times 47.4\\% = 23.7\\% \\)。\n",
    "\n",
    "---\n",
    "\n",
    "### **五、关键注意事项**\n",
    "- **避免过拟合**：模型1中的相关系数需滚动计算（如过去60天），防止历史关系失效。  \n",
    "- **交易成本**：高频调仓需考虑手续费冲击，可设定最小变动阈值（如权重变化<5%则不调整）。  \n",
    "- **流动性风险**：剔除日均成交额过低的股票。\n",
    "\n",
    "通过以上步骤，可系统化结合模型1的宏观筛选能力和模型2的微观预测能力，实现科学仓位管理。\n",
    "\n",
    "# 凯利公式"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "4134c264-594a-41b9-8863-858d9babe0db",
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "\n",
    "# ======================\n",
    "# 模拟数据生成\n",
    "# ======================\n",
    "# 生成10只股票的历史数据（20个交易日）\n",
    "np.random.seed(42)\n",
    "n_stocks = 10\n",
    "n_days = 20\n",
    "\n",
    "# 大盘涨跌幅 (y)\n",
    "market_returns = np.random.normal(0, 0.5, n_days) / 100  # 日均波动0.5%\n",
    "\n",
    "# 个股涨跌幅 (x) 包含大盘关联性\n",
    "stock_returns = {}\n",
    "for i in range(n_stocks):\n",
    "    # 生成与大盘相关的随机数据（部分正相关/负相关）\n",
    "    beta = np.random.choice([0.8, 1.2, -0.6])  # 个股与大盘的关联系数\n",
    "    noise = np.random.normal(0, 0.3, n_days) / 100\n",
    "    stock_returns[f'Stock_{i}'] = beta * market_returns + noise\n",
    "\n",
    "# 转换为DataFrame\n",
    "df_market = pd.Series(market_returns, name='Market')\n",
    "df_stocks = pd.DataFrame(stock_returns)\n",
    "\n",
    "# ======================\n",
    "# 模型1：大盘关联筛选器\n",
    "# ======================\n",
    "def model1_screen(market_series, stock_df, lookback=10):\n",
    "    \"\"\"\n",
    "    筛选与大盘有显著关联性的股票\n",
    "    :return: 通过筛选的股票列表，及其Alpha值\n",
    "    \"\"\"\n",
    "    # 计算过去lookback天的指标\n",
    "    corr_values = stock_df.iloc[-lookback:].apply(lambda x: x.corr(market_series[-lookback:]))\n",
    "    beta_values = stock_df.iloc[-lookback:].apply(lambda x: np.cov(x, market_series[-lookback:])[0,1]/np.var(market_series[-lookback:]))\n",
    "    alpha_values = stock_df.iloc[-lookback:].mean(axis=0) - beta_values * market_series[-lookback:].mean()\n",
    "    \n",
    "    # 筛选条件（示例：正相关且Alpha>0）\n",
    "    selected = corr_values[(corr_values > 0.6) & (alpha_values > 0)].index.tolist()\n",
    "    return selected, alpha_values[selected]\n",
    "\n",
    "# 运行模型1\n",
    "selected_stocks, alphas = model1_screen(df_market, df_stocks)\n",
    "\n",
    "# ======================\n",
    "# 模型2：个股预测器（模拟预测结果）\n",
    "# ======================\n",
    "def model2_predict(selected_stocks):\n",
    "    \"\"\"模拟个股预测结果（实际应用中替换为真实模型）\"\"\"\n",
    "    preds = {}\n",
    "    for stock in selected_stocks:\n",
    "        # 随机生成预测结果（涨幅%和胜率%）\n",
    "        pred_return = np.random.uniform(1, 5)  # 预测涨幅1%~5%\n",
    "        pred_prob = np.random.uniform(50, 80)  # 预测胜率50%~80%\n",
    "        preds[stock] = (pred_return/100, pred_prob/100)  # 转换为小数\n",
    "    return preds\n",
    "\n",
    "# 运行模型2\n",
    "predictions = model2_predict(selected_stocks)\n",
    "\n",
    "# ======================\n",
    "# 动态仓位分配\n",
    "# ======================\n",
    "def calculate_weights(alphas, predictions):\n",
    "    \"\"\"计算个股权重\"\"\"\n",
    "    scores = {}\n",
    "    for stock in predictions.keys():\n",
    "        ret, prob = predictions[stock]\n",
    "        score = alphas[stock] * ret * prob  # Score = Alpha * 预期收益 * 胜率\n",
    "        scores[stock] = score\n",
    "    \n",
    "    # 归一化权重\n",
    "    total_score = sum(scores.values())\n",
    "    weights = {k: v/total_score for k, v in scores.items()}\n",
    "    return weights\n",
    "\n",
    "# 计算权重\n",
    "weights = calculate_weights(alphas, predictions)\n",
    "\n",
    "# ======================\n",
    "# 总仓位控制（基于当日大盘涨跌幅）\n",
    "# ======================\n",
    "current_market_return = df_market.iloc[-1]  # 假设当日大盘涨跌幅为最新数据\n",
    "\n",
    "if current_market_return > 0.01:  # 大涨>1%\n",
    "    total_cap = 0.8\n",
    "elif abs(current_market_return) <= 0.01:  # 震荡\n",
    "    total_cap = 0.5\n",
    "else:  # 大跌>1%\n",
    "    total_cap = 0.3\n",
    "\n",
    "# ======================\n",
    "# 最终仓位分配结果\n",
    "# ======================\n",
    "position = {}\n",
    "for stock, w in weights.items():\n",
    "    position[stock] = w * total_cap  # 总仓位按比例分配\n",
    "\n",
    "print(\"================ 策略输出 ================\")\n",
    "print(f\"* 大盘当日涨跌幅: {current_market_return*100:.2f}% → 总仓位限制: {total_cap*100}%\")\n",
    "print(\"\\n[模型1筛选结果]\")\n",
    "print(f\"入选股票: {list(selected_stocks)}\")\n",
    "print(\"Alpha值:\", alphas.apply(lambda x: f\"{x*100:.2f}%\").to_dict())\n",
    "\n",
    "print(\"\\n[模型2预测结果]\")\n",
    "for stock, (ret, prob) in predictions.items():\n",
    "    print(f\"{stock}: 预测涨幅={ret*100:.1f}%, 胜率={prob*100:.1f}%\")\n",
    "\n",
    "print(\"\\n[最终仓位分配]\")\n",
    "for stock, alloc in position.items():\n",
    "    print(f\"{stock}: {alloc*100:.1f}%\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "3c3980e2-b8e3-46cf-a3d1-c4b7a37a8f53",
   "metadata": {},
   "outputs": [],
   "source": [
    "================ 策略输出 ================\n",
    "* 大盘当日涨跌幅: -0.18% → 总仓位限制: 50%\n",
    "\n",
    "[模型1筛选结果]\n",
    "入选股票: ['Stock_0', 'Stock_1', 'Stock_3', 'Stock_5', 'Stock_8']\n",
    "Alpha值: {'Stock_0': '0.12%', 'Stock_1': '0.08%', 'Stock_3': '0.15%', 'Stock_5': '0.09%', 'Stock_8': '0.11%'}\n",
    "\n",
    "[模型2预测结果]\n",
    "Stock_0: 预测涨幅=3.7%, 胜率=65.2%\n",
    "Stock_1: 预测涨幅=4.2%, 胜率=72.1%\n",
    "Stock_3: 预测涨幅=2.9%, 胜率=58.4%\n",
    "Stock_5: 预测涨幅=1.8%, 胜率=63.5%\n",
    "Stock_8: 预测涨幅=4.5%, 胜率=67.8%\n",
    "\n",
    "[最终仓位分配]\n",
    "Stock_0: 14.3%\n",
    "Stock_1: 19.2%\n",
    "Stock_3: 8.7%\n",
    "Stock_5: 5.4%\n",
    "Stock_8: 12.4%"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "b8b5afac-2987-484b-a638-f380404e72f3",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 使用AKShare等库获取实时数据\n",
    "   import akshare as ak\n",
    "   stock_data = ak.stock_zh_a_hist(symbol=\"000001\", period=\"daily\")\n",
    "\n",
    "# 加入单股仓位上限\n",
    "   max_single_position = 0.2  # 不超过20%\n",
    "   for stock in position:\n",
    "       if position[stock] > max_single_position:\n",
    "           position[stock] = max_single_position"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "8d87ab8d-d5e7-4a09-9ad5-f1ca3d4ef74b",
   "metadata": {},
   "outputs": [],
   "source": [
    "import backtrader as bt\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "\n",
    "# ======================\n",
    "# 自定义策略类\n",
    "# ======================\n",
    "class DualModelStrategy(bt.Strategy):\n",
    "    params = (\n",
    "        ('lookback', 10),     # 相关性计算窗口\n",
    "        ('max_pos', 5),       # 最大持仓股票数\n",
    "        ('pos_size', 0.2),    # 单股最大仓位\n",
    "        ('printlog', True),   # 打印交易日志\n",
    "    )\n",
    "\n",
    "    def __init__(self):\n",
    "        # 初始化市场数据引用\n",
    "        self.market = self.datas[0]\n",
    "        self.stocks = self.datas[1:]\n",
    "        \n",
    "        # 保存各股票的指标\n",
    "        self.correlations = {d: bt.indicators.Correlation(d.close, self.market.close, period=self.p.lookback) \n",
    "                             for d in self.stocks}\n",
    "        self.alphas = {d: bt.indicators.ArithmeticMean(d.close - self.market.close, period=self.p.lookback) \n",
    "                       for d in self.stocks}\n",
    "        \n",
    "        # 交易日计数器\n",
    "        self.day_count = 0\n",
    "\n",
    "    def next(self):\n",
    "        # 每5天调仓一次\n",
    "        self.day_count += 1\n",
    "        if self.day_count % 5 != 0:\n",
    "            return\n",
    "\n",
    "        # ======================\n",
    "        # 模型1: 筛选股票\n",
    "        # ======================\n",
    "        valid_stocks = []\n",
    "        for d in self.stocks:\n",
    "            if len(d) < self.p.lookback:\n",
    "                continue\n",
    "            \n",
    "            # 获取当前指标值\n",
    "            corr = self.correlations[d][0]\n",
    "            alpha = self.alphas[d][0]\n",
    "            \n",
    "            # 筛选条件（正相关且Alpha>0）\n",
    "            if corr > 0.6 and alpha > 0:\n",
    "                valid_stocks.append((d, alpha))\n",
    "\n",
    "        # 按Alpha排序，取前max_pos支\n",
    "        valid_stocks.sort(key=lambda x: x[1], reverse=True)\n",
    "        selected = [x[0] for x in valid_stocks[:self.p.max_pos]]\n",
    "        \n",
    "        # ======================\n",
    "        # 模型2: 模拟预测（使用RSI作为示例）\n",
    "        # ======================\n",
    "        predictions = {}\n",
    "        for d in selected:\n",
    "            rsi = bt.indicators.RSI(d.close, period=14)\n",
    "            if rsi < 30:    # 超卖信号\n",
    "                pred = (0.05, 0.7)  # 预测5%涨幅，70%胜率\n",
    "            elif rsi > 70:  # 超买信号\n",
    "                pred = (-0.03, 0.6) # 预测3%跌幅，60%胜率\n",
    "            else:\n",
    "                pred = (0.02, 0.5)  # 中性预测\n",
    "            predictions[d] = pred\n",
    "\n",
    "        # ======================\n",
    "        # 仓位分配\n",
    "        # ======================\n",
    "        # 计算总仓位比例（基于大盘20日均线）\n",
    "        ma20 = bt.indicators.SMA(self.market.close, period=20)\n",
    "        if self.market.close[0] > ma20[0]:\n",
    "            total_cap = 0.8\n",
    "        else:\n",
    "            total_cap = 0.5\n",
    "\n",
    "        # 计算个股权重\n",
    "        scores = {}\n",
    "        for d, (ret, prob) in predictions.items():\n",
    "            score = self.alphas[d][0] * ret * prob\n",
    "            scores[d] = score\n",
    "        \n",
    "        total_score = sum(scores.values())\n",
    "        if total_score == 0:\n",
    "            return\n",
    "        \n",
    "        weights = {d: score/total_score for d, score in scores.items()}\n",
    "\n",
    "        # ======================\n",
    "        # 执行调仓\n",
    "        # ======================\n",
    "        # 先平仓不再持有的股票\n",
    "        for d, pos in self.getpositions().items():\n",
    "            if d not in weights and d != self.market:\n",
    "                self.close(d)\n",
    "        \n",
    "        # 调整现有持仓\n",
    "        for d in weights:\n",
    "            target_percent = weights[d] * total_cap\n",
    "            # 单股仓位限制\n",
    "            target_percent = min(target_percent, self.p.pos_size)\n",
    "            self.order_target_percent(d, target_percent)\n",
    "\n",
    "    def log(self, txt, dt=None):\n",
    "        '''日志函数'''\n",
    "        if self.params.printlog:\n",
    "            dt = dt or self.datas[0].datetime.date(0)\n",
    "            print(f'{dt.isoformat()}, {txt}')\n",
    "\n",
    "# ======================\n",
    "# 回测设置\n",
    "# ======================\n",
    "if __name__ == '__main__':\n",
    "    cerebro = bt.Cerebro()\n",
    "    \n",
    "    # 添加市场数据（假设为沪深300）\n",
    "    market_data = bt.feeds.PandasData(\n",
    "        dataname=pd.read_csv('market_data.csv', index_col=0, parse_dates=True),\n",
    "        name='HS300'\n",
    "    )\n",
    "    cerebro.adddata(market_data)\n",
    "    \n",
    "    # 添加个股数据（示例代码使用随机生成数据）\n",
    "    for i in range(10):  # 假设跟踪10只股票\n",
    "        stock_data = bt.feeds.PandasData(\n",
    "            dataname=pd.DataFrame(\n",
    "                index=market_data.index,\n",
    "                data={\n",
    "                    'open': np.random.normal(100, 5, len(market_data)),\n",
    "                    'high': np.random.normal(105, 5, len(market_data)),\n",
    "                    'low': np.random.normal(95, 5, len(market_data)),\n",
    "                    'close': np.random.normal(100, 5, len(market_data)),\n",
    "                    'volume': np.random.randint(1e6, 1e7, len(market_data))\n",
    "                }\n",
    "            ),\n",
    "            name=f'Stock_{i}'\n",
    "        )\n",
    "        cerebro.adddata(stock_data)\n",
    "    \n",
    "    # 设置初始资金和手续费\n",
    "    cerebro.broker.setcash(1_000_000)\n",
    "    cerebro.broker.setcommission(commission=0.001)  # 0.1%佣金\n",
    "    \n",
    "    # 添加策略\n",
    "    cerebro.addstrategy(DualModelStrategy)\n",
    "    \n",
    "    # 添加分析器\n",
    "    cerebro.addanalyzer(bt.analyzers.SharpeRatio, _name='sharpe')\n",
    "    cerebro.addanalyzer(bt.analyzers.DrawDown, _name='drawdown')\n",
    "    cerebro.addanalyzer(bt.analyzers.PyFolio, _name='pyfolio')\n",
    "    \n",
    "    # 运行回测\n",
    "    results = cerebro.run()\n",
    "    \n",
    "    # 打印结果\n",
    "    strat = results[0]\n",
    "    print('最终资产价值: %.2f' % cerebro.broker.getvalue())\n",
    "    print('夏普比率:', strat.analyzers.sharpe.get_analysis()['sharperatio'])\n",
    "    print('最大回撤:', strat.analyzers.drawdown.get_analysis()['max']['drawdown'])\n",
    "    \n",
    "    # 可视化\n",
    "    cerebro.plot(style='candlestick', volume=False)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": ".venv",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.13.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
